69,373
社区成员
发帖
与我相关
我的任务
分享
void getmemory(char *p)
{
p=(char *)malloc(100);
strcpy(p,"hello world");
}
int main(int argc, char* argv[])
{
char *str=NULL;//"ni hao";
getmemory(str);
printf("%s\n",str);
free(str);
return 0;
}
#include <stdio.h>
void getmemory(char *p)
{
p=(char *)malloc(100);
printf("p=%p\n",p); //形参p指向的地址
strcpy(p,"hello world");
}
int main(int argc, char* argv[])
{
char *str=NULL;//"ni hao";
printf("str=%p\n",str); //实参str指向的地址
getmemory(str);
printf("str=%p\n",str); //调用函数后str指向的地址 ,str指向的地址没有被改变,它没有指向函数内所开辟的空间
printf("%s\n",str);
free(str);
system("pause");
return 0;
}