快速弄清C语言指针

发布于 2022-05-05  395 次阅读


先大概了解一下C语言的工作原理

int a; //将a转换城二进制,装进4个小空间里面,储存他们的空间都有自己的编号,就好比他们存进了房间里,他们房间的门牌号就是他们所在的地址。

指针类型赋值

int * p 指针变量,用于存放一个变量的地址

赋值方法
int *p;//类型为int* 变量为p
p=&
常见的错误赋值方
int *p = a;//不能把一个具体数字赋值给指针,类型不配,一个指针型,一个int型

总结:int * p;变量名叫 p,类型为int * ,可存放一个int数据地址

指针类型(int **)

int **q;
q = &p

相比int * 中存放的是int数据的地址,自然int ** 是存放int数据地址的地址。
int * q存放的a的地址,int * q 他也是一个变量,他的值为a的地址,所以内存为他开辟空间让他存放,int ** 就是存放int * 的值。int *** q,以此类推

取值

除了定义指针变量的时候,变量前面有* 为定义类型,其他时候均为指针取值操作。拿的是指针变量中存放的值。

***q = *(*(*(q))) = 5;

  • alipay_img
  • wechat_img
想法不去做终究就只是想法
最后更新于 2022-05-05