|
10鱼币
1.这三个意义都是指什么?
2.定义一个一维数组 array[5]={1,2,3,4,5};
int (*P)[5]=&array;
从数组指针的赋值是不是可以看出数组名array加上&就表示数组的地址呢?
那么数组名只是与数组首元素的地址在数值上相等,它的意义又是什么呢?
3.定义一个二位数组 temp[4][5];
视频里说二位数组的数组名temp可以理解为指向包含五个元素的数组的指针,把二维数组temp当成一个包含四个元素的一维数组,这四个元素每一个又可以当成是包含五个元素的一维数组,
那么temp[0]是不是可以当成temp[0][0]~temp[0][4]的数组名呢?
数组名temp指向的是不是temp[0]这一维度的数组还是指向这一维度数组的首元素temp[0][0]?
- 数组名是数组第 0 个元素的地址
- C语言中没有二维数组,没有三维数组,没有多维数组
- C语言中的是 数组中存储数组,为了方便才称之为 二维数组,三维数组,四维数组,。。。
- int a[3]; // a 是一个数组,有 3 个元素,每一个元素的类型都是 int
- char b[4][2] // b 是一个数组,有 4 个元素,每一个元素的类型都是 一个数组
- // 这个数组有 2 个元素,每一个元素的类型都是 char
- 是数组的数组
- 数组中存储的是数组
- 为了方便才称之为 二维数组,实际是 数组中存储数组
- 数组名是数组第 0 个元素的地址
- a 就是 &a[0]
- b 就是 &b[0]
- b[0] 就是 &b[0][0]
复制代码
|
|