C,C++——指针和数组
一 指针和一维数组的关系 指向数组的指针变量称为数组指针变量 数组名是数组首个元素的地址。 数组名可以看作是一个指针常量,不可修 改。 其值为首个元素的地址值。如下用指针变量访问数组元素 int a[]={12,22,32,42,52,62,72,82,92,102}; int *pa=a; //指针变量p指向数组a的首地址 。pa等价于a 用指针变量对数组元素的访问可以采用下标形式和指针形式两种 下标形式: p[i] 指针形式: *(p+i) 举例 for ( int i = 0 ; i < 5 ; i ++ ) { //使用数组方式 cout << p1 [ i ] << " " ; cout << b [ i ] << " " ; //使用指针运算符 cout << * ( p1 + i ) << " " ; cout << * ( b + 1 ) << " " ; } 二 指针和多维数组关系 C++允许把一个二维数组分解为多个一维数组来处理。数组名是首个元素 (一维数组)的地址。如下所示定义一个二维数组a int a [ 3 ] [ 4 ] = { { 11 , 12 , 13 , 14 } , { 21 , 32 , 23 , 24 } , { 31 , 32 , 33 , 34 } , } 二维数组a可以分解为一维数组a[0],a[1],a[2]。如下图所示 数组指针