【C语言学习笔记】MOOC——数组的那些事

初始化篇

1.C语言的全局变量在没有赋值以前默认为0,因此在开头定义无需再进行赋值。

例如:

include <stdio.h>

int a[10];

2.对于一维数组,当数据非常大的时候,不需要给出数组的大小,编译器可以替你数数。但对于小数组还是建议写上数组大小。

例如:int a[] = {2,4,5,6,7,8,9,1,3};

3.若数组只是用来读入不读写,可使用const声明数组,以免后续不小心改动

4.集成初始化时的定位,可用[n]在初始化数据中给出定位,没有定位的数据接在前面的位置后面,其他位置的值补零,特别适合于初始数据稀疏的数组。

例如:int a[10] = { [0] = 2, [2] = 3, 6 };

5.在C99之前不允许变量数组,即

int m = 8;

float a[m];

在C99之前无法识别
题目实例:#1海选女主角——数组的锅


使用技巧

1.数组经常要被用在for循环中,由于人工计算特别容易出错,所以我们可以巧用sizeof运算符来让电脑帮我们计算长度,另外一个优点就是这样子在今后对代码进行优化修改时,若数组的长度改变,sizeof也会动态改变,无需全文修改,有可扩展性。

例如:int length = sizeof(a) / sizeof(a[0]);

*因为我个人一直弄混sizeof和strlen在计算字符串时候的区别,现在碰到了就再复习巩固一下

回归字符串的定义,字符串是以0结尾的一串字符,固sizeof计算的是包括最后’\0’长度的,而strlen则相反,结果不包括最后’\0’的长度。

2.数组变量本身不能被赋值,若要把一个数组的所有元素交给另外一个数组,必须采用for循环遍历的方法把每一项的数值逐个赋值给新数组。

3.数组作为函数的参数时,不能在[]中给出数组的大小。例如

int fun( int a, int a[]);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值