欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-02 21:16:31
...

初始化篇

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[]);
相关标签: 学习笔记