定义数组
#include <stdio.h>
int main(int argc, char *argv[])
{
// 定义一个一维数组
int a[10];
// 通过sizeof关键字可以获取数组的大小
printf("sizeof(a) = %d\n", sizeof(a)); // sizeof(a) = 40
printf("sizeof(a) = %d\n", 10 * sizeof(int)); // sizeof(a) = 40
// 如果定义数组的同时赋值(初始化),可以不指定数组元素的个数,系统会根据初始化元素的个数自动填充数组元素的个数
int b[] = {10, 20 ,30};
printf("sizeof(b) = %d\n", sizeof(b)); // sizeof(b) = 12
// 定义一个二维数组
int c[2][4];
printf("sizeof(c) = %d\n",sizeof(c)); // sizeof(c) = 32
printf("sizeof(c) = %d\n", 2 * 4 * sizeof(int)); // sizeof(c) = 32
// 初始化二维数组的时候,行数可以省略,但是列数不能省略
int d[][4] = {1, 2, 3, 4, 5};
printf("sizeof(d) = %d\n", sizeof(d)); // sizeof(d) = 32
return 0;
}
遍历一维数组
#include <stdio.h>
int main(int argc, char *argv[])
{
// 一维数组的引用以及一维数组的遍历
int a[6] = {111,222,333,444,555,666};
// 一维数组的遍历
int i;
for(i = 0; i < sizeof(a) / sizeof(int); i++)
{
printf("a[%d] = %d\n", i, a[i]);
}
// a[0] = 111
// a[1] = 222
// a[2] = 333
// a[3] = 444
// a[4] = 555
// a[5] = 666
return 0;
}
遍历二维数组
#include <stdio.h>
int main(int argc, char *argv[])
{
// 二维数组的引用以及二维数组的遍历
int b[3][4] = { 1, 2, 3, 4,
5, 6, 7, 8,
9, 10, 11, 12 };
// 二维数组的遍历
int m, n;
// 外层循环控制行数
for(m = 0; m < 3; m++)
{
// 内层循环控制列数
for(n = 0; n < 4; n++)
{
printf("%-4d", b[m][n]);
}
printf("\n");
}
// 1 2 3 4
// 5 6 7 8
// 9 10 11 12
return 0;
}
#include <stdio.h>
int main(int argc, char *argv[])
{
// 定义一个字符数组,通过scanf函数输入字符串并输出结果
// 通过赋值""这样的方式可以清除字符数组中的垃圾字符,让每一个元素都是\0
char ch[32] = "";
// 数组名就是当前数组的首地址,所以scanf的第二个参数直接传数组名即可
scanf("%s", ch);
printf("ch = %s\n", ch);
return 0;
}