数组指针等问题#c

#include"stdio.h"
int main()
{   int a[4][3] = {1,2,3,4,5,6,7,8,9,10,11,12};
    int (*prt)[3] = a, *p = a[0];
    printf("%d\n",*(*(&a+1)-1));//  6487556   1
    printf("%d\n",*(*(&prt+1)-1));//6487508   2
    printf("%d\n",&prt+1);//    6487576   3
    printf("%d\n",a+4);//       6487568   4
    printf("%d\n",a);//         6487520  5   
    printf("%d\n",&a+1);//      6487568   6
    printf("%d\n",prt[1][2]);//   6         7
    printf("%d\n",a[1][2]);//     6         8
    printf("%d\n",prt);//      6487520  9 
    printf("%d\n",p);//       6487520   10
    printf("%d\n",&a);//       6487520   11
    printf("%d\n",&prt);//       6487568   12
}    
注释为地址或者值,后面为行号。有大佬告诉我为啥吗

#c#
全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务