04 数组 字符串
同类型数据放一起
1. 数组

int value[4] = {1, 3, 6, 9};//数组初始化
-
int value[4]中的[4]表示可以存 4 个整数。 -
元素的编号叫下标,从 0 开始,所以有效下标是 0、1、2、3。
2. 遍历
数组下标可以使用变量。让 i 从 0 走到 3,就能依次访问每个元素:
#include <stdio.h>
int main(void)
{
int value[] = {1, 3, 6, 9};
for (int i = 0; i < 4; i++) {
printf("%d\n", value[i]);
}
return 0;
}
提示
也可以这样求数组中元素的数量:
sizeof(value) / sizeof(value[0]);
sizeof(value) 是整个数组占的字节数,sizeof(value[0]) 是一个元素占的字节数,相除就是元素个数。
3. 字符串

要保存 Hello 这五个字母,可以写:
char text[] = "Hello";
printf("%s\n", text);
-
它实际保存了6个字符:
'H'、'e'、'l'、'l'、'o'、'\0'。最后的'\0'是结束标记。 -
%s从开头输出字符,遇到'\0'就停止。
4. 二维数组

二维数组可以按行、列来理解:
int table[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
//双层for循环 遍历输出二维数组
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
printf("%d\n", value[i][j]);
}
}
-
[2][3]表示 2 行、每行 3 个元素。两个下标同样从 0 开始。 -
table[1][2]就是第二行、第三列。 -
它在内存中仍然连续排列:先第一行,再第二行。
练习
用字符数组输出字符串
定义字符数组 text,保存 "Hello, STM32!",再用 printf 输出它。
示例输出
Hello, STM32!
提示
用 char text[] = "Hello, STM32!"; 定义数组,输出字符串用 %s。
参考代码
main.c
#include <stdio.h>
int main(void)
{
char text[] = "Hello, STM32!";
printf("%s\n", text);
return 0;
}