黑马程序员技术交流社区
标题: 数组指针 [打印本页]
作者: hugin 时间: 2016-9-25 18:05
标题: 数组指针
怎么理解数组指针?
指向数组的指针
既然指针变量指向了数组 那可以认为 这个指针变量 == 数组名
结论: 引用一个数组元素,可用下面两种方法:
(1)下标法,如a形式
(2)指针法,如*(a+i)或*(p+i)
(3)a是常量(a++错误),p是变量(p++正确)
数组指针 指向数组的指针 = 数组名
int arr[3] = {1,2,3};
for(int i = 0;i<3;j++){
*(arr+i) == arr
}
//定义一个数组指针
int *p = arr;
for(int i = 0;i<3;j++){
*(p+i) //指针法
*p++
p;
&arr//下标法
}
//-----------------------二维数组指针
二维数组指针 指针 指向的是二维数组的首地址
int arr[2][3] = {1,2,3,4,5,6};
怎么理解二维数组指针
指向二维数组的指针变量
数据类型 (*指针变量名)[二维数组列数];
int a[2][3] = {1,2,3,4,5,6};
int (*pa)[3] = a;
*(*(pa+i)+j) == *(*(a+i)+j) == *(a+j) == pa[j]
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |