指针和二位数组

    
    int a[3][4] = { 0, 1,2,3,4,5,6,7,8,9,11,12};

    printf("\n%d,%d", a,*a); //两个一样的16进制地址
    printf("\n%d,%d", sizeof(a), sizeof(*a)); // 48 16

    printf("\n%d,%d", a[0],*(a+0)); //两个一样的16进制地址
    printf("\n%d,%d", sizeof(a[0]), sizeof(*(a+0))); //16 16
    

    printf("\n%d,%d", &a[0],&a[0][0]); //两个一样的16进制地址
    printf("\n%d,%d", sizeof(a[0]), sizeof(a[0][0])); // 16 4

    printf("\n%d,%d", a[1],a+1); //两个一样的16进制地址
    printf("\n%d,%d", sizeof(a[1]), sizeof(a+1)); // 16 4


    printf("\n%d,%d", &a[1][0],*(a+1)+0); //两个一样的16进制地址
    printf("\n%d,%d", sizeof(&a[1][0]), sizeof(*(a+1))); //4,16


    printf("\n%d,%d", a[2],*(a+2)); //两个一样的16进制地址
    printf("\n%d,%d", sizeof(a[2]), sizeof(*(a+2))); // 16 16

    printf("\n%d,%d", &a[2],(a+2)); //两个一样的16进制地址
    printf("\n%d,%d", sizeof(&a[2]), sizeof(a+2)); //4 4

    printf("\n%d,%d", a[1][0],*(*(a+1)+0));//5 5
    printf("\n%d,%d", *a[2],*(*(a+2)+0)); // 8 8
    getchar();

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。