📚知识点补充 — 一维数组

(1) 声明数组

在 C 语言中,声明一维数组需要指定数组的类型、名称和大小。

int arr[5];

(2) 初始化数组

在声明数组时,也可以对数组进行初始化:

int arr[5] = {1, 2, 3, 4, 5};
📌 部分初始化

如果初始化列表中提供的值少于数组长度,则未指定的元素会自动初始化为 0(整型/浮点型)或 '\0'(字符型)。

// 部分初始化:只给前3个元素赋值,后2个自动为0 int arr[5] = {1, 2, 3}; // arr = {1, 2, 3, 0, 0} // 只给第1个元素赋值,其余全部为0 int b[5] = {10}; // b = {10, 0, 0, 0, 0} // 利用部分初始化将整个数组清零 int c[100] = {0}; // c 中所有100个元素都为0 // 字符数组的部分初始化,剩余元素自动填 '\0' char s[10] = {'A', 'B'}; // s = {'A', 'B', '\0', '\0', ..., '\0'}
⚠️ 注意事项

① 部分初始化时,未赋值的元素默认值为 0,而非随机值(垃圾值)。

② 如果初始化列表的值多于数组长度,编译器会报错。例如 int arr[3] = {1,2,3,4}; 是错误的。

③ 如果不进行初始化,局部数组的元素值是不确定的(垃圾值),只有全局数组或 static 数组才默认为 0。

(3) 访问数组元素

可以使用下标运算符 [ ] 来访问数组中的元素。数组下标从 0 开始,最后一个元素的下标为数组长度减 1。

(4) 数组长度

可以使用 sizeof 运算符获取数组的长度:

sizeof(arr) / sizeof(arr[0]) // 返回元素个数

(5) 遍历数组

int i; for(i=0;i<5;i++){ printf("%d",arr[i]); }

(6) 数组作为函数参数

int sum(int arr[],int len){ int s=0, i; for(i=0;i<len;i++){ s+=arr[i]; } return s; } // 调用:sum(arr, 5)
本章小结

数组与指针

  • 一维数组:声明、初始化、遍历、sizeof
  • 二维数组:上三角/下三角操作
  • 指针与数组:p=a+2,指针算术
  • 函数指针:int (*x)(int*) = fun
  • 注意 i++ 在循环体与 for 中的叠加效应

多练真题 · 理解指针 · 熟能生巧

1 / 10
上一页 下一页