标签:
请先看C++中的指针概述,这里只是扩充
数组指针
其实这里主要说的就是c++中的指针运算
/* 数组元素指针: 一个变量有地址,一个数组包含若干个元素,每个数组元素都有相应的地址, 指针变量可以指向数组元素(把某一元素的地址放到一个指针变量中) 所谓数组元素的指针就是数组元素的地址 可以用一个指针变量指向一个数组元素 int a[10]={1,2,3,4,5,6,7,3,2,3}; int *p; p=&a[0]; 等同与 p=a; 等同与 int *p=a; 等同与 int*p=&a[0] 注意: 1) 数组名a不代表整个数组,只代表数组首元素的地址 p=a 的作用是"把a数组的首元素的地址赋给指针变量p",而不是"把数组a各个元素的值赋给p" 数组指针: 指向数组元素的指针 数组指针的作用: 使用数组指针间接访问数组的元素 数组指针的定义: int *p; 数组指针的初始化; int a[4] ={1,2,3,4}; int *p = a;//数组指针,定义了一个指针变量p赋值数组的首地址(第一个元素的地址),P指向数组的第一个元素 int *p = &a[0];//等价上面一句话 数组指针如何访问数组的元素: 1) p+1 表示指向数组的下一个元素 2) p-1 指向数组的上一个元素 误区: 用数组指针遍历数组 for(int i=0;i<4; i++){ printf("%d\t",*p++); } //学习的误区: 数组名 a 是一个常量 等同与 *(10++) //数组名++ 这是错误的 printf("*a=%d\n",*a++);//这种写法是错误的 */
标签:
原文地址:http://www.cnblogs.com/developer-wang/p/4488993.html