二维数组的行地址与列地址应用举例

来源:互联网 发布:剑网三盾太捏脸数据 编辑:程序博客网 时间:2024/05/17 07:52

01.#include <stdio.h> 
02.int main() 
03.{ 
04.    int a[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11}; 
05.    //----- 
06.    printf ("%d\n",a);               //代表二维数组首元素地址; 
07.    printf("%d\n",*a);              //代表行向量一维数组a[0]中第0列元素的地址; 
08.    printf("%d\n",a[0]);           //代表行向量一维数组a[0]中第0列元素的地址; 
09.    printf("%d\n",&a[0]);        //第0行首地址; 
10.    printf("%d\n",&a[0][0]);    //二维数组a的第0行第0列元素地址; 
11.    printf("%d\n",a+1);           //第一行首地址; 
12.    printf("%d\n",*(a+1));       //第一行第0列元素a[1][0]的地址; 
13.    printf("%d\n",a[1]);          //第一行第0列元素a[1][0]的地址; 
14.    printf("%d\n",&a[1]);          //第一行首地址; 
15.    printf("%d\n",&a[1][0]);     //二维数组a的第1行第0列元素地址 
16.    printf("%d\n",a+2);           //第二行首地址; 
17.    printf("%d\n",*(a+2));       //第2行第0列元素a[2][0]的地址; 
18.    printf("%d\n",a[2]);          //第2行第0列元素a[1][0]的地址; 
19.    printf("%d\n",&a[2]);       //第二行首地址; 
20.    printf("%d\n",&a[2][0]);    //二维数组a的第2行第0列元素地址; 
21.    printf("%d\n",a[1]+1);      //第一行第一列a[1][1]的地址; 
22.    printf("%d\n",*(a+1)+1);  //第一行第一列a[1][1]的地址; 
23.    printf("%d %d\n",*(a[1]+1),*(*(a+1)+1));  //第一行第一列a[1][1]的值; 
24.    return 0; 
25.} 


结果:

2293472
2293472
2293472
2293472
2293472
2293488
2293488
2293488
2293488
2293488
2293504
2293504
2293504
2293504
2293504
2293492
2293492
5 5

0 0