C++自主学习日志16
指向数组元素的指针
个变量有地址,一个数组包含若千元素,每个数组元素都在内存中占用存储单元它们都有相应的地址。指针变量既然可以指向变量,当然也可以指向数组元素(把某一元素的地址放到一个指针变量中)。所谓数组元素的指针就是数组元素的地址
int a[10];//定义一个整型数组a,它有 10个元素
int*p;//定义一个基类型为整型的指针变量p
p=&a[0]; //将元素 a0]的地址赋给指针变量p,使指向a[0]
在C和C++中,数组名代表数组中第1个元素(即序号为0的元素)的地址。因此,下面两个语句等价:
p=&a[0]:
p=a;
注意: 数组名 a不代表整个数组,上述“p=a;”白’的作用是把a数组的首元素的地址赋给指针变量p,而不是把数组a各元素的值赋给P。
在定义指针变量时可以对它赋予初值
int *p=&a[0];//p的初值为a[0]的地圳也可以写成
int *p=a;//作用与前一行相同
可以通过指针引用数组元素。假设p已定义为一个基类型为整型的指针变量(指针变量的类型为 int*),并已将一个整型数组元素的地址赋给了它,使它指向某一个数组元素。如果有以下赋值语句:
*p=1://对p当前所指的数组元素赋予数值1
