式]。数组的所占字节数为元素个数与基类型所占字节数的乘积。
【考点 2】数组的初始化
第一维长度可以不写,其它维必须写。int a[]={1,2};合法,int a[][3]={2,3,4};合法,int
a[2][]={2,3,4};非法。数组初始化元素值默认为 0,没有初始化元素值为随机。如在 int a[5]={0,1,
2};中,元素 a[4]值为 0;而在 int a[5];中,元素 a[4]值为一个不确定的随机数。
【考点 3】元素的引用
数组元素的下标从 0 开始,到数组长度减 1 结束。所以 int a[5];中数组最后一个元素是 a[4].要把
数组元素看作一个整体,可以把 a[4]当作一个整型变量。
【考点 4】二维数组
数组 a[2][3]={1,2,3,4,5,6};中含 6 个元素,有 2 行 3 列。第一行为 a[0]行,第 2 行为 a[1]
行,a[0]、a[1]叫行首地址,是地址常量.*(a[0]+1)是第一行第一个元素往后跳一列,即元素 a[0][1]
值为 2,*(a[0]+3)是第一行第一个元素往后跳三个,即元素 a[1][0]值为 4。
【考点 5】行指针
是一个指针变量,占四个字节,行指针指向一行连续数据,形式为:int (*p)[2];,p 只能存放含有
两个整型元素的一维数组的首地址。注意(*p)两边的小括号不能省略,否则就成了指针数组,是若干指针元
素的集合。
【考点 6】数组名
数组名是数组的首地址.数组名不能单独引用,不能通过一个数组名代表全部元素。数组名是地址常量,
不能对数组名赋值,所以 a++是错误的。但数组名可以作为地址与一个整数相加得到一个新地址.
【考点 7】元素形式的转换
助记:“脱衣服法则”a[2]变成*(a+2),a[2][3]变成*(a+2)[3]再可变成*(*(a+2)+3)。
第九章 字符串
【考点 1】字符串常量及表示
字符串常量是由双引号括起来的一串字符,如”ABC".在存储字符串时,系统会自动在其尾部加上一个
空值'\0’,空值也要占用一个字节,也就是字符串"ABC”需要占四个字节。
【考点 2】字符数组
C 语言没有字符串变量,只能采用字符数组来存储字符串。数组的大小应该比它将要实际存放的最长字
符串多一个元素,从而存放’\0’。
【考点 3】字符串赋值
可以用下面的形式进行赋值:char str[]=”Hello!”;或 char *p;p="Hello!”;,但不能用下面的形
式:char str[10];str=”Hello";因为 str 是一个地址常量,不能进行赋值操作。
【考点 4】字符串的输入与输出
可以用 scanf 和 printf 函数,如 scanf("%s”,str);,也可用专门处理字符串的两个函数 gets 和 puts
函数,还可以对字符数组逐个元素进行赋值,但一定要在最后赋一个’\0’。使用 gets 函数可以接收空格,
使用 puts 函数在最后输出一个换行.
【考点 5】字符串函数
要掌握的四个字符串函数:字符串拷贝函数 strcpy(),求字符串长度函数 strlen(),字符串链接函数
strcat(),字符串比较函数 strcmp()。使用这些函数需在预处理部分包含头文件”string。h”。
字符串长度要小于字符数组的长度,例:char str[10]=”Hello”;sizeof(str)的值为 10(数组长度),
strlen(str)的值为 5(字符串长度).这些函数是考试常用到的函数,大家一定要熟练应用这几个函数。
第十章 结构体与共用体
【考点 1】结构体类型的说明
结构体是若干个类型数据的集合,结构体类型说明格式如下:struct 类型名 {类型 1 成员名 1;类型 2
成员名 2;……};,以上整个部分是一个数据类型,与整型的 int 是同样地位。可用 typedef 把结构体类型替