今天刷题碰到链表了,一脸懵逼,突然搞不懂二维数组的运算机制,于是有了下面的尝试。
#includeint main() { int a[3][2]={{1,2},{3,4},{5,6}}; printf( "a[1]=%dn" , a[1] ); printf( "*(a+1)=%dn" , *(a+1 )) ; printf("*a+1=%dn",*a+1); printf("&a[0][1]=%dn",&a[0][1]); printf("&a[1][0]=%dn",&a[1][0]); printf("*(*(a+1)+1)=%dn",*(*(a+1)+1)); printf("*(a+1)+1=%dn",*(a+1)+1); printf( "a+1=%dn" , a+1 ); return 0; }
c语言似乎有自己特殊的机制,当用户想要调取指针变量所指的变量的地址时或是调取指针变量所指的变量的值时,c语言能够快速地判断出来。
面对多维数组时,这种机制尤为重要且特别。数组像是被包装好的一个个指针一样,似乎数组其实就是为了更好阅读,让人更好编码的指针。



