指针存放的是他所指向的内容的地址。
因为指针是一个变量,指针有级数,所以变量也有级数。普通变量0级,存放地址的变量需要根据下面的三种情况去判断。
变量的级数与他存放的内容同级,比他指向的内容高一级,变量的地址比他本身要高一级。 假如在被调用函数中要将一个三级指针写入主调用函数的一个变量中,那么主调用函数中要定义一个变量来存放三级指针,那么定义的这个变量与它存放的内容同级。因此在主调用函数中要定义一个三级指针变量。由于是在被调用函数中去给主调用函数中定义的三级指针变量赋值,所以要获取主调用函数中分配的这个三级指针变量的地址,因此形参接收的是三级指针变量的地址。由于三级指针变量的地址要比三级指针变量高一级,所以三级指针变量的地址是四级。由于形参存放的是四级的内容,所以形参应该定义为四级指针。在被调用函数内部,用被调用函数获得的三级指针去赋值。*p=三级指针,注意p是形参四级指针变量。 假如在主调用函数中定义了一个数组,要把数组的首地址传递给被调用函数。那么在被调用函数中需要定义一个形参去存放这个地址,由于形参存放的是数组地址,所以形参级数与存放数组首地址的变量同级。例如在主调用函数中定义了一个数组int a[10];int *p=null;p=a;那么在被调用函数中形参定义方式为int *p1; 以上两种情况分别对应从被调用函数向主调用函数中写值和主调用函数向被调用函数传值。本人为初学者,希望各位大佬批评指正。