下面函数get_str2返回数组str的首地址,而从内存的堆区申请字符串的空间,可返回全部的
#include <stdio.h>
char *get_str2(){
char str2[] = {"testing local pointer"};
return str2;
}
char *get(){
char *str;
str = (char*)malloc(100);
if(!str)
return NULL;
strcpy(str,"testing local pointer");
return str;
}
int main(){
char *p;
int i;
char *m;
int j;
char a[] = {"testing local pointer"};
printf("第一种方法输出的是:\n");
p = get_str2();
for(i=0;*(p+i);i++)
putchar(*(p+i));
printf("\n");
//return 0;
m = get();
printf("第二种方法输出的是:\n");
for(j=0;*(m+j);j++)
putchar(*(m+j));
printf("\n");
//return 0;
}
转载:https://blog.csdn.net/weixin_43206161/article/details/101922396
查看评论