c++如何传递动态内存
先看一段代码:
#include<iostream>using namespace std;void GetMe(char **p,int num){*p=(char*)malloc(sizeof(char)*num);}int main(){char *str=NULL;GetMe(&str,100);strcpy(str,"Hello!");cout<<str<<endl;delete str;return 0;}
在该代码中传递了str的指针给函数GetMe(),那么p就是str的地址的副本,地址的副本可定就是该地址了,所以该函数是为str地址指向的str开辟空间。所以能正确输出结果。