1. 数组与指针:
对于数组,需要注意两点:1, C语言中只有一维数组, 而且数组的大小必须在编译期就作为一个常数确定下来; 2. 对于一个数组,我们只能做两件事:确定数组的大小 和 获得指向该数组下标为0的元素的指针;
实际上,对于数组下标的运算,实际上都是通过指针进行的;
如: int a[10] ,数组名 a 实际上为指向数组第0个元素的指针; 所以, a[i] 可以表示为 *(a+i), 即对指针求值;
int b[10][31] 表示了b 是一个援用10个元素的数组, 而每一个元素又是拥有31个整型元素的数组; 所以,b 表示b[0] 的地址,而 b[0]表示了 b[0][0]的地址; b+i 表示了 b[i]的地址(即指向b 的第i个元素的指针),
对于 b[i][j],它等阶于 *(*(b+i)+j)
2. 字符数组和字符串:
字符数组是用用于存放字符串的:
// 字符数组的定义:它与数组定义一样,只是类型改为了char; char a[10] //在定义的时候初始化: char a[10] = {'a', 'b', 'c'} 或 char a[10] = "abc" 此时,C编译系统会在字符串结尾自动加上'