作业帮 > 综合 > 作业

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

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 03:23:50
C语言的return能返回地址值吗?
可以.返回指针实际上就是地址.
例如:
#include
#include
// 动态分配 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;i