说明:
本篇记录的是自学C语言的相关过程记录,参考资料是B站郝斌老师的C语言自学教程。本人之前学过一点python,但是觉得C语言还是有必要学一下的。因为刚开始学C语言,所以本篇文章会不断更新。
因为是学习记录,所以条理可能并不是很清晰,后续感觉学的差不多的时候会重新整理一下。
P99. 数组
1. 为什么需要数组?
- 保存大量同类型的数据。
格式:
数据类型 数组名称[元素个数] = {元素}; // 元素的类型必须相同;数目必须和定义的个数相同。
举例:
# include <stdio.h>
int main(void)
{
int a[5] = {1, 2, 3, 4, 5};
// a是数组名字,5表示元素个数,索引从0开始。比如第一个元素a[0] = 1
//遍历数组
int i;
for (i=0; i<5; ++i)
printf("%d\n", a[i]);
return 0;
}
2. 数组的分类;
一维数组;
怎样定义一个数组:
- 为n个元素连续分配内存;
- 所有的元素的数据类型必须相同;
- 所有元素所占的字节大小必须相等;
有关一维数组的操作:
初始化:
完全初始化:
int a[5] = {1,2,3,4,5};
不完全初始化:
int a[5] = {1,2,3};
(未被初始化的元素自动为零)不初始化:
int a[5];
(所有元素都是垃圾值)清零:
int a[5] = {0};
注意:一维数组的名称不代表该数组的所有元素,而是代表该数组第一个元素的地址。
二维数组;
int a[3][4];
表示三行四列的数组。
初始化:
int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
int a[3][4] = { {1,2,3,4}, {5,6,7,8}, {9,10,11,12} };
输出二维数组的元素:
# include <stdio.h>
int main(void)
{
int a[3][4] = {
{1,2,3,4},
{5,6,7,8},
{9,10,11,12}
};
int i, j;
for (i=0; i<3; ++i)
{
for (j=0; j<4; ++j)
printf("[%d, %d] = %d\n", i, j, a[i][j]);
}
return 0;
}
多维数组;
n维数组可以当作每个元素是n-1维数组的一维数组。