首页 > 代码库 > 对指针形参分配空间
对指针形参分配空间
GetMemory(char *p){ p = (char*)malloc(100);}
void Test(void){
char *str = NULL;
GetMemory(str);
strcpy(str, "hello world");
printf(str);
}
这段代码有错,str指针始终为空,因为GetMemory改变的是参数的值,而非指针指向的空间里的值,而改变形参的值并不会传回。
修改方法:
//方法一:函数返回char* GetMemory(){ char* p = (char*)molloc(100); return p;}//方法二:二级指针void GetMemory(char **P){ *p = (char*)molloc(sizeof(char)*100);}
对指针形参分配空间
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。