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

#include <stdio.h>
int main()
{
    int a[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};
    //-----
    printf ("%d\n",a);        //代表二维数组首元素地址;
    printf("%d\n",*a);        //代表行向量一维数组a[0]中第0列元素的地址;
    printf("%d\n",a[0]);      //代表行向量一维数组a[0]中第0列元素的地址;
    printf("%d\n",&a[0]);     //第0行首地址;
    printf("%d\n",&a[0][0]);  //二维数组a的第0行第0列元素地址;
    printf("%d\n",a+1);       //第一行首地址;
    printf("%d\n",*(a+1));    //第一行第0列元素a[1][0]的地址;
    printf("%d\n",a[1]);      //第一行第0列元素a[1][0]的地址;
    printf("%d\n",&a[1]);     //第一行首地址;
    printf("%d\n",&a[1][0]);  //二维数组a的第1行第0列元素地址
    printf("%d\n",a+2);       //第二行首地址;
    printf("%d\n",*(a+2));    //第2行第0列元素a[2][0]的地址;
    printf("%d\n",a[2]);      //第2行第0列元素a[1][0]的地址;
    printf("%d\n",&a[2]);     //第二行首地址;
    printf("%d\n",&a[2][0]);  //二维数组a的第2行第0列元素地址;
    printf("%d\n",a[1]+1);    //第一行第一列a[1][1]的地址;
    printf("%d\n",*(a+1)+1);  //第一行第一列a[1][1]的地址;
    printf("%d %d\n",*(a[1]+1),*(*(a+1)+1));  //第一行第一列a[1][1]的值;
    return 0;
}


结果:

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



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值