c期末笔记(2)

1.定义数组

1.1.a[3][2] = [1,2,3,4,5,6],代码是定义一个三行两列的二维数组。在数组声明和初始化时,如果用户定义的元素数量超过用户规定的元素数量,以语法错误报错。(如:cahr a[3] = "abcde";)数组前面的[]里面的内容所包含的常量表示用户定义的元素个数,如果所给的元素数量不足,则以零补齐。

1.2.定义字符型数组(此处char array [] = "window";)

虽然一个字符占内存的一个字节,但是c语言会自动在字符串的结尾加上"\0"以表示字符串终止,这也会占用一个字节。故,定义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\0")

posted @ 2020-04-02 19:18  布鲁瓦丝甜甜文  阅读(139)  评论(0编辑  收藏  举报