指针理解

Posted 七里橙花

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指针理解相关的知识,希望对你有一定的参考价值。

看到这句话好像有点明白了函数里通过二级指针修改内容 

比如:

 

int *p = &a;//函数传入时如下

void eaxm(int *s){} ,传入的p 指向的地址(是a的地址),而不是p本身的地址,要想修改p需要传入指针p的地址

void exam0(int **s){}   这里传入的就是指针p的地址,s指向就是p的地址

s是指向指针p的指针 

申请空间也是,一级指针传入时,形参s只是临时的一个变量,malloc为s申请空间后,s和传入函数的变量没有关系,这块空间也不会共用。二级指针的时候,传入的是指针(假设为q)的地址,虽然s的空间是另外的空间,但是s指向的那块空间就是q的值,所以 可以申请这里*s ,相当于也为q申请了

 

以上是关于指针理解的主要内容,如果未能解决你的问题,请参考以下文章

c语言中的指针应该怎么理解?

深入理解C语言的指针

对C指针的理解

深入理解指针与数组

理解常量指针与指针常量?

06深入理解C指针之---指针类型和长度