![](https://csdnimg.cn/release/download_crawler_static/9554410/bg6.jpg)
南京新视野教育 025-87702469 C 语言知识复习
【考点 2】指针变量的定义
格式为:类型名 *指针变量名。二维指针 int **p;可以理解为基类型为(int *)类型。
【考点 3】指针变量的初始化
指针变量在使用前必须要初始化,把一个具体的地址赋给它,否则引用时会有副作用,
如果不指向任何数据就赋“空值”NULL。
【考点 4】指针变量的引用
&是取地址符,*是间接访问运算符,它们是互逆的两个运算符。在指针变量名前加间
接访问运算符就等价它所指向的量。
【考点 5】指针的运算
*p++和(*p)++之间的差别:*p++是地址变化,(*p)++是指针变量所指的数据变化。一个
指针变量加一个整数不是简单的数学相加,而是连续移动若干地址。当两个指针指向同一数
组时,它们可以比较大小进行减法运算。
第八章 数组
【考点 1】数组的定义
数组是一组具有相同类型的数据的集合,这些数据称为数组元素。格式为:类型名 数
组名[常量表达式]。数组的所占字节数为元素个数与基类型所占字节数的乘积。
【考点 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”需要占四个
字节。