内存是计算机的重要组成部分,在程序的执行过程中,所用到的数据都存于内存中。
C程序中的每一个变量,在内存中都占用一定数量的内存单元。给变量赋值就是将数据存入对应的内存单元,使用变量时是按照变量所占用的内存单元的地址,从该地址所对应的内存单元中取出变量的值。
因为我们是通过变量的地址来找到存储变量值的内存单元,从而取得了变量的值,所以将变量的地址又称为变量的指针
指针变量是一类特殊的变量,其值是一个变量的地址。既然是变量,就需要在使用之前先对其定义,然后才可以使用
类型 标识符 * 标识符
类型用于指出所定义指针变量可以指向的变量类型,称为指针变量的“基类型”,标识符是指针变量名,“*”表示定义指针变量
一、当一个指针指向数组后,对数组元素的访问,既可以使用数组下标,也可以使用指针。
用指针访问数组元素,程序的效率更高;用下标访问数组元素程序更清晰
在C语言中,当一个数组a被定义后,数组名a本身就代表了该数组的首地址,并且它是一个地址常量,数组元素的地址可以通过数组名a加下标值来取得;
若定义一个指针变量,使其指向一个数组,则该指针变量称为指向数组的指针变量,其定义与指向普通变量的指针变量的定义方法是一样的;
指向数组的指针变量也可以带下标,如p[i]与*(p+i)等价,表示元素a[i];
数组元素a[i]的4种引用