C语言中的数组
首先了解一下数组,数组就是一个变量的组
这样方便管理变量
首先看下变量的声明:
int aaa[] = {1,2,3,4,5};
int 是这个数组元素的类型,此处是int类型的
aaa[] 此处的aaa是这个数组的名字,一般说,这个数组aaa,在aaa的后边还有个放扩弧,这个放扩弧里是数组的个数,这里没有特意在声明的时候说出来这个数组有几个数字,但是这儿我们直接给这个数组赋值了,编译器会自动按赋值的个数来给放扩弧内加上它的个数,如果我们不直接给他们赋值的话,则声明如下:
int aaa[5];
就是这样声明的,这样的声明就告诉操作系统,我现在需要5个int类型变量的内存空间,5个内存空间的集合叫做aaa,则操作系统就给aaa这个数组预留出5个int值的内存空间,上边的声明方式是直接告诉内存我要存这些int类型的值,我不告诉你我要多少个,我只是告诉操作系统,我的aaa里存放这些int类型的东西,所有这两种声明模式都是样的。
不管每种声明,数组遵循一个规律,就是数组的下标,不管怎么声明,数组的下标是一定存在的例如:
aaa[] = {1,1,2,4,5,6}
它的下标如下分布:
数组aaa的第一个值是1,下标为0 第二个值是1,下标为1,第三个值是2则下标为2,第6个值是5它的下标是5
也就是说从数组的第一个元素开始对应下标为0开始依次增长!
下边用例子看看这两种方式的数组声明:
[root@CWG hc]# cat sz.c
#include <stdio.h>
main()
{
int aaa[] = {1,2,3,4,5}; //声明一个元素为int类型的数组内容是1,2,3,4,5
printf("%d = %d\n", aaa[2], aaa[3]); //打印数组aaa的下标为2的值和下标为3的值,数组取值就是通过下标来获取获取下标为n则是aaa[n]
int bbb[9]; //声明一个包含9个int类型数值的数组bbb
int i = 0; //初始化一个循环变量
while (i != 9) {
bbb[i] = i; //循环体,循环给数组bbb赋值一共9个元素,下标是从1~8
i++;
}
for (i = 0; i < 9; ++i)
printf("%d\n", bbb[i]); //循环打印出数组bbb的值
}
执行情况如下:
[root@CWG hc]# ./sz
3 = 4 //打印出了数组aaa的下标为2的值和aaa数组下标为3的值
0 //for循环依次循环打印出了数组bbb的所有有while循环赋过值的结果
1
2
3
4
5
6
7
8
相关阅读: