C/C++ 如果函数的参数是一个指针 可以用该指针去申请动态内存吗?

看如下一段代码:

#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);
}
内存图分析:

C/C++ 如果函数的参数是一个指针 可以用该指针去申请动态内存吗?_第1张图片

你可能感兴趣的:(C/C++ 如果函数的参数是一个指针 可以用该指针去申请动态内存吗?)