数组
数组也是一种复合类型,由一系列相同类型元素组成,数组的元素可以是基本类型也可以是复合类型。此外,C语言中的字符串实际上也是\0结尾的char数组。
数组定义
定义数组写法如下。
int arr[4];
数组定义时需要指定长度,由编译器为其申请分配空间。注意数组使用时下标不能超出范围,C语言编译器不会对此进行检查,这种错误会很隐蔽。
数组也可以在声明时直接初始化。
int count[4] = { 3, 2, }; //未初始化的值是0
int count[] = { 3, 2, 1, }; //长度为3
和结构体不同,数组不能相互赋值或初始化。数组做右值时,自动转换成指向数组首元素的指针。
字符串
字符串实际上是char数组,我们可以通过下标访问字符串中的字符。此外要注意,字符串字面值是只读的,不能修改。
初始化字符串有如下几种写法。
char str[10] = "Hello"; //和下面等价
char str[10] = { 'H', 'e', 'l', 'l', 'o', '\0' };
char str[] = "Hello, world.\n"; //最好不指定长度,让编译器自己去算
char *str = "Hello, world.\n"; //得到指向字符串的指针
多维数组
数组可以嵌套,形成多维数组,数组中存储字符串实际上也是一种多维数组。
int mat[10][10];
作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。