c语言函数返回值为地址 c语言如何返回地址

怎样在C语言中用函数返回一个数的地址呢?

首先函数返回一个指针类型即返回地址。

创新互联建站主要从事成都网站建设、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务南沙,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

例:

int * func(void)

int a= 10;

int *p = a;

return p;

(c语言)“函数的返回值”是“函数的地址”的用法

给你一个例子,是谭浩强的C语言程序设计P.199.页的一个例子:你可以找该书来参考:

------------------------------

/*使用指向函数的指针*/

#include stdio.h

int max(int x,int y)

{

int z;

if(xy){

z=x;

}else{

z=y;

}

return z;

}

int min(int x,int y)

{

int z;

if(xy){

z=x;

}else{

z=y;

}

return z;

}

int add(int x,int y)

{

int z;

z=x+y;

return z;

}

/*第三个参数为指向返回值为整型的函数的指针*/

int process(int x,int y,int(*fun)())

{

int result;

result=(*fun)(x,y);

printf("[%d]\n",result);

}

int main(void)

{

int a,b;

printf("输入两个整数:\n");

printf("a=");

scanf("%d",a);

printf("b=");

scanf("%d",b);

printf("大的数为:");

process(a,b,max);

printf("小的数为:");

process(a,b,min);

printf("和为:");

process(a,b,add);

return 0;

}

C语言中函数返回值是地址的问题!!求帮助!!!

两种改法:

一、 

char * copy( char s[], int m )

{

int i;

for( i=0;im-1  s[i]!='\0' ;i++ ) ;

return s[i] ;

}

二、

char * copy( char s[], int m )

{

static char str[80]={0} ; //改成静态变量,即可

int i;

C语言函数返回值地址

#includestdio.h

void string_cut(char s[],char c)

{int i,j;

for(i=j=0;s[i];i++)

if(s[i]!=c)s[j++]=s[i];

s[j]='\0';

}

int main()

{char s[200],ch;

gets(s);

scanf("%c",ch);

string_cut(s,ch);

printf("%s\n",s);

return 0;

}

C语言的return能返回地址值吗?

可以。返回指针实际上就是地址。

例如:

#includestdio.h

#includestdlib.h

// 动态分配 n 个字节,返回 char *

char *f(char *name, int n){name = (char*) malloc(sizeof(char)*n);

return name;

}

// 动态分配 n 个字节,返回 void *

void *v(char *name, int n){name = (char*) malloc(sizeof(char)*n);

return name;

}

main(){ char *name;

char *p;

int *x,i;

p = f(name,50); // 给 p 分配 50个字节,等于声明了 char p[50]

scanf("%s",p); // 使用 char p[50]

printf("%s\n",p);

x = (int *) v(name,40); // 给 x 分配 40个字节,(并强制转换)等于声明了 int x[10];for (i=0;i10;i++) x[i]=i+1; //使用 int x[10];

for (i=0;i10;i++) printf("%d ",x[i]);

}

如何用C语言实现调用函数的返回值为一数组的地址

这个问题一个较为妥善的方法是把数组定义在主函数,再传入数组地址给自定义函数,如果你非要在自定义函数里定义也行,至于是否需要设置为static,那得看情况,因为函数退出时栈空间并不是马上被刷新,如果你能保证该栈空间在你访问前没被释放就没必要定义为static,但是保险起见定义static更好,因为你可能不知道到底该内存是不是被重新写入了数据,至于你说要返回指向指针的指针,我举个例子,int**

fun(),这个就是返回一个指向指针的指针,其指向的指针指向int型,呵呵,明白了没


当前文章:c语言函数返回值为地址 c语言如何返回地址
网站地址:http://hbruida.cn/article/dooooco.html