【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[]);
下一篇: java 下载网络资源
推荐阅读
-
C++笔记之【Webservice通讯中文乱码】的那些事
-
【学习笔记】C语言习题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
-
c++语言的学习笔记代码与笔记注释《函数部分》
-
C语言程序设计学习笔记--对文件的输入输出
-
[C++ Primer Plus]学习笔记--关于C++ string和c类型字符数组的对比
-
C语言学习之将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1. 要求改为1,4,5,6,8。
-
C语言学习笔记:冒泡法排序、交换法排序与选择法排序的比较
-
个人学习笔记:c++数组实现的模板队列和栈
-
学习笔记:用c语言编写泰勒展开公式myexp()实现math.h.数学函数库中的exp()函数。并与exp()函数做比较。精度相同。
-
C语言学习笔记:|| 一维数组 ||求学生人数、班级最高分、哪位同学最高分、班级课程平均分