学 c 语言就知道数组, 指针在 c 中有着特殊的地位. 而且是必须掌握的一项知识, 学会它会让你受益无穷.
一, 数组
1, 数组: 室友一系列相同元素构成的. 它连续的存储在内存中.
2, 数组的声明:
格式: 类型 数组名 [元素个数];
例 : int myarray[10];
注意: 在 c99 之前不允许出现元素个数为变量的情况.
例:
- int n = 10;
- int myarray[n]; // C99 之前不允许 (这种声明方式不允许被初始化)
3, 数组的初始化:
- int myarray[] = {
- 1,2,3,4,5
- }; // 正确, 这种情况下元素个数可以省略.
- int myarray [10] = {
- 1,2,3,4,5,6,7,8,9,0
- }; // 一般情况, 元素和元素中间用 "," 分割
- int myarray [10] = {
- 1,2,3
- }; // 只初始化前三个元素.
- int myarray [10] = {
- [4] = 4,[6] = 6
- }; // 第 5 个元素个第 6 个员被初始化, 其他元素都为 0.
- int n = 10; int myarray [n] = {
- 1,2,3,4,5,6,7,8,9,0
- }; // 错误 .C99 之后允许变量作为数组的元素个数, 但是不允许初始化这种声明.
那么如果我们在数组定义后并不对其进行初始化, 数组元素的值是什么?
数组定义的时候, 只是划出一片区域, 冠以数组名来存储数组元素. 但是在定义数组的时候并不改变这片区域里数据, 也就是说在这篇区域中的值是不确定的.
4, 数组的赋值
- int myarray [10] = {
- 1,2,3,4,5,6,7,8,9,0
- };
- int oarray [10];
- oarray = myarray; // 错误, c 不支持把一个数组作为一个整体来进行赋值.
- oarray [10] = {
- 1,2,3,4,5,6,7,8,9,0
- }; // 错误, c 不支持一个花括号括起来进行赋值.
来源: http://www.bubuko.com/infodetail-3199636.html