//因为你的p只是函数参数,拷贝了一份指针变量,函数结束时函数外的str指针依然指向NULL。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char* getmemory(char *p)
{
p = (char *) malloc(100);
return p;
}
int main()
{
char *str = NULL;
str = getmemory(str);
strcpy(str,"hello world");
printf(str);
free(str);
return 0;
}
[ 本帖最后由 hellovfp 于 2012-7-8 12:22 编辑 ]
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char* getmemory(char *p)
{
p = (char *) malloc(100);
return p;
}
int main()
{
char *str = NULL;
str = getmemory(str);
strcpy(str,"hello world");
printf(str);
free(str);
return 0;
}
[ 本帖最后由 hellovfp 于 2012-7-8 12:22 编辑 ]
我们都在路上。。。。。