浅谈C语言中的数组

1.1初始化数组

int array [1] = {1,0};
int array[]   = {1,0};
//最好不要用空格分隔数组中的元素
//如果用空格就这样:static int array[] = {1 0};

推荐使用宏常量定义数组长度

#define number xx
int array[number] = {……};

设置只读数组,应该使用const声明和初始化数组

const int arrary[number] = {……};

部分初始化时,当初始化列表的值少于数组元素个数时,编译器会把剩下的元素赋值为0

#define size 4
int array[size] = {1,4};

这时如果打印数组元素会是这样的:

1
4
0
0

当初始化列表的值大于数组元素个数时,编译器会报错
因此,最好的写法是省略方括号中的数字

int array[] = {……};

这样编译器会自动匹配数组大小和初始化列表中的项数

1.2指定初始化器

c99规定可以在初始化列表中使用带方括号的下标指定带初始化元素

int array[6] = {[5]=212};//把array[5]初始化为212
int days[12] = {31,28,[4]=31,30,31,[1]=29};
//如果指定初始化器后有更多的值,则后面的这些值被用于初始化指定元素后面的元素
//days[4]=31,days[5]=30,days[6]=31;
//若再次初始化指定的元素,那么最后面的初始化会取代前面的初始化
//最后days[1] = 29;

如果未指定数组有多少元素,那么编译器会把数组的大小设置为足够装得下初始化的值

int staff[] = {1,[6]=23};
int stuff[] = {1,[6]=3,5,6};

这里,staff有七个元素,stuff有9个元素

1.3给数组元素赋值

利用循环给数组赋值

1.4数组边界

在使用数组时,要确保数组下标不会超出边界
但是c相信程序员的原则使编译器不检查边界,所以程序员要自己人工检查或添加额外代码检查数组的每个下标

1.5指定数组的大小

1.6多维数组

int array[5][12] = {……};//一个五行十二列的二维数组

1.7初始化二维数组

两个嵌套循环

1.8其他多维数组

多个嵌套循环

m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值