一维数组与二维数组的理解

一维数组与二维数组的理解

一维数组:
假设 int arr[4]; 那么arr、arr+1、arr[0]、arr[0]+1分别是什么数据类型?
arr:指针类型(int *x;),指向第一个元素地址的指针。
arr+1:指针类型(int *x;),指向下一个元素地址的指针。
arr[0]:第一个元素的值(int x;)。
arr[0]+1:第一个元素的值再加1(int x;)。

二维数组:
假设 int brr[3][4]; 那么brr、brr+1、brr[0]、brr[0]+1、brr[0][0]、brr[0][0]+1分别是什么数据类型吗?
brr:数组指针(int (*x)[4];),相当于指向第一行。
brr+1:数组指针(int (*x)[4];),相当于指向下一行。
brr[0]:指针类型(int *x;),相当于指向第一行第一个元素地址的指针。
brr[0]+1;指针类型(int *x;),相当于指向第一行下一个元素地址的指针。
brr[0][0]:整型(int x;),第一行第一个元素的值。
brr[0][0]+1:整型(int x;),第一行第一个元素的值再加1。

猜你喜欢

转载自blog.csdn.net/wangjiaxin_/article/details/88083072