C语言指针概念的一些见解

一级的指针:
首先说一下指针的概念:拿int p来说,就是定义一个指针,p指向一段内存空间,p的值为这块内存空间的地址,这块空间里面存的是int类型的空间,也就是从地址的位置开始的四个字节的内存上会存放int 类型的数据,而p的值永远是地址,并且这个地址不会改变,使用p就可以访问这块内存空间上面存放的值.(自己的理解,可能不全对,初学望理解!)

我们平常使用的int * 、char * 等等都算是比较简单的指针的使用,就是用指针来指向一个某种类型的数据。

二级指针:
在本质上面和一级指针并无太大的区别,本质仍是一级指针,就像二维数组的本质还是一维数组一样,相当于每个二级指针都指向一级指针,例如:int p :p就是*p的地址,*p又是p的地址。

指针和数组:
指针和数组并没有什么关系,只是在许多的情况下用法相同,例如:指针和数组都可以用*来使用,也都可以取下标来使用。
int *p :p是这一块内存的地址
int a[] :a则是数组首元素的地址

指针数组:本质仍然是数组,只不过数组里面存放的是指针变量,例如:
int p[] :p是数组名,数组里面存放的是int类型的指针

猜你喜欢

转载自blog.csdn.net/qq_44783220/article/details/90677655