C语言初阶——4.扩展:数组
1. 返回值含义
返回值有时存在两种情况:合法值和非法值。
如果有非法值的情况,通常使用一些特定的值指代特殊情况。例如:数组下标只能是0和正数。我们实现数组查找元素下标时,存在找不到元素的情况,这时,使用-1
可以作为这种情况的返回值。
返回值的含义以及值是人为定义的。
2. 二维数组指针用法
- 一维数组指针用法
No. | 操作 | 下标 | 指针 |
---|---|---|---|
1 | 第i 个元素值 |
arr[i] |
*(arr+i) |
2 | 第i 个元素地址 |
&arr[i] |
arr+i |
- 二维数组指针用法
No. | 操作 | 下标 | 指针 |
---|---|---|---|
1 | 第i 行第j 列元素值 |
arr[i][j] |
*(*(arr+i)+j) |
2 | 第i 行第j 列元素地址 |
&arr[i][j] |
*(arr+i)+j |
在二维数组中
a[i]
就是一个一维数组。
- 问题
-
二维数组数组名是第一个元素的首地址吗?
-
试一下下面的代码
#include <stdio.h>
int main () {
int days[4][3]={
31,28,31,30,31,30,31,31,30,31,30,31};
printf("days[0]\t\t = %p\n&days[0][0]\t = %p\n",days[0],&days[0][0]);
printf("days[1]\t\t = %p\n&days[1][0]\t = %p\n",days[