二级指针传参的解释和函数指针的理解
扫描二维码
随时随地手机看文章
根据《C语言深度解析》
二级指针
void GetMemory(char** p,intnum)
{
*p = (char*)malloc(num*sizeof(char));
returnp;
}
int main()
{
char*str= NULL;
GetMemory(&str,10);
strcpy(str,”hello”);
free(str) ;
return0;
}
注意main函数传参是传的&str,传入到函数的是str的地址,是一个值,不是str的拷贝,而
*p就相当于*(&str)也就是str本身,所以经过这个函数,str的值被改变了,那么*str指向的就是新申请的堆内存的地址空间。
函数指针:
#include





