看如下一段代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/************************************************************************/
/* 把指针作为参数 在函数中动态申请内存?能否奏效呢
其一 函数参数要入栈{}
其二 编译器要为函数参数制作临时副本
函数参数param 其副本是_param 编译器使_param=param
函数体内修改了_param的内容 param的内容也作相应的修改
*/
/************************************************************************/
void GetMemory( char *pp )
{
pp = (char *) malloc( 100 );
}
int main(int argc, const char *argv[])
{
char *p = NULL;//new char;
GetMemory(p);
strcpy( p, "hello world" );
printf("%s",p);
}
内存图分析: