指针在函数中作为入参是什么形式的
例如
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void text(char**);
void text(char** p)
{
*p=(char*)malloc(sizeof(char));
strcpy(*p,"123456");
}
int main()
{
char *pText;
pText=NULL;
text(&pText);
printf("%s\n",pText);
free(tText);
return 0;
}
解释一下这段代码,在text函数中使用了二级指针,因为**p是一个二级指针p指向指向一个一级指针的地址,而 *p指向一个一级指针的地址,即是 ** p这个指针的地址,当pText的地址传入text()这个子函数时,可以检验一下,可以知道p=&pText,就是已经把 p上的内容就是pText的地址了,
那么对于该函数可以修改pText上面的内容就很明确了,需要注意的是指针本身也是存储在一个地址上的,不要混淆指针本身的地址和内容指向的地址.