1.定义数组
1.1.a[3][2] = [1,2,3,4,5,6],代码是定义一个三行两列的二维数组。在数组声明和初始化时,如果用户定义的元素数量超过用户规定的元素数量,以语法错误报错。(如:cahr a[3] = "abcde";)数组前面的[]里面的内容所包含的常量表示用户定义的元素个数,如果所给的元素数量不足,则以零补齐。
1.2.定义字符型数组(此处char array [] = "window";)
虽然一个字符占内存的一个字节,但是c语言会自动在字符串的结尾加上" "以表示字符串终止,这也会占用一个字节。故,定义char array [] = "window";共占用6+1,即7个字节。
2.数组易错点
2.1.假设定义数组a[10] = {1,2,3,4,5,6,7,8,9,10}; int*p; p = a;
在这里a表示数组a的第一个地址即a[0]的地址,a表示&a[0],故p = a不需要取地址符(&)。
假设定义函数void func(double a[], int*n)
其中,a和n都是形参都是指针变量,都接收地址值。
2.2.定义字符数组时可以省略[]中的标量。(如:char array [] = "HELLO WORLD!";)
2.3c语言对单引号(' ')和双引号(" ")有严格区分。
单引号内可以是单个字符,也可以是多个字符('abc'),但是都会被视作单个字符,只分配内存一个字节。 | 双引号内才能表示多个字符,也可书写如("a",实际为"a ") |