一.序言
数组是一组类型相同类型元素的集合,数组的定长的(数组的长度一旦被定义,长度不可改变)。
数组在内存当中是一块连续的空间,可以保存相同类型的多个元素。
二.一维数组
2.1.数组的创建
int arr1[10]; //整形类型数组
char arr2[10]; //字符类型的数组
float arr3[10]; //单精度浮点数的数组
double arr4[10]; //双精度浮点数的数组
在数组的创建中,要加一个[] 这个符号是半角状态。[]中要给一个常量才可以,不能使用常量。
2.2.数组的初始化
int arr2[10] = {1,2,3};
在数据创建的过程中,初始化的数值可以等于定义的常量的数值,也可以少于定义的常量数值。
int arr[ ] = {1,2,3};
也可以不指定数组大小的数组,如上图。
其中有一个特殊的
字符数组
char arr5[6] = "abcdef"
此时,f是不能打印出来的,因为在字符数组中,数组有个结束语\0 。虽然它并不出现但是它是占内存的。
2.3.数组在内存中的应用
1.数组在内存中开辟是线性连续且递增的。
2.在C语言中,任何变量的空间都是整体开辟的,但是任何元素的起始地址一定是开辟字节中最小的。
三.二维数组
3.1一维和两维的图形解释
我们来类比一下一维数组和二维数组
第一个是以为数组,第二个是二维数组。从图中可以看到,二维数组是一个空间模型。
3.2二维数组的初始化
int arr6[3][5]; //指3行5列哦
char arr7[3][5];
double arr8[3][5];
3.3二维数组的初始化
int arr6[3][5] = { {1,2,3,4,5,},{1,2,3,4,5,},{1,2,3,4,5} };
int arr6[3][5] = { 0 };
int arr6[][5] = { {1,2,3},{4,5} };
二维数组的列能够省略,但是行不能省略。
因为行省略了就不能确定一行有多少元素。
本次分享到此结束,如有问题,欢迎提问;如有错误,感谢指正。
祝大家生活愉快,下次我们分享函数。