代码改变世界

C 指针随笔

2015-10-26 19:22  ICBDF_骚年  阅读(107)  评论(0编辑  收藏  举报

1.指针是一个存储计算机内存地址的变量。

Int a;定义一个变量

Int *p;//定义一个 p 指针

p = &a;//与 int *p = &a;等价

根据出现的位置不同,操作符 *既可以用来声明一个指针变量,也可以用作指针的取值。当用在声明一个变量时,*表示这里声明了一个指针。其它情况用到*表示指针的取值。

&是地址操作符,可以引用一个内存地址。在变量名字前使用&操作符,可以得到该变量的内存地址。

2.数组是一段连续的内存空间,可以储存特定对象,指针用来储存单个内存地址。可以把数组的地址赋值给指针,指针指向的是数组的第一个元素的地址。

Int arr[3] = 1,2,3;

Int *p = arr;//与 int *p = &arr[0];等价;

3.和数组一样,指向结构体的指针储存的是结构体第一个元素的内存地址。

4.指针的指针存放的是第一个指针的内存地址

如果p1保存着p2的内存地址,那么*p1就是返回 p1保存的对象

&:取地址。*:取值。