多维数组的指针算术?

时间:2018-12-29 00:43:38

标签: c arrays pointers

考虑此程序

#include <stdio.h>

int main () { 
     unsigned int x [4] [3] = 
     {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}};
     printf ("Multidimensional array : %u, %u", x + 3, *(x + 3));

     // unsigned int* y[]={*x,*(x+1),*(x+2),*(x+3)};
    // printf("\nArray of pointers : %u %u",y + 3,*(y + 3));

  }

该程序的输出为

  

多维数组:1382418564,1382418564

由于'x + 3'的计算结果为'1382418564',为什么*(x + 3)再次打印相同的地址,而不是在该位置打印值?

0 个答案:

没有答案