数组的概念:由若干个相同类型的相关数据项按顺序存储在一起,构成数组(array) ;数组实际上
是同种类型、有序的数据的集合。
static int a[4] 等价于 static int a[4]={0,0,0,0}
二维数组按行存储
多维数组 a[5][6][7]
a[0][0][0]->a[0][0][1] ->a[0][0][2]…按行存储
二维数组的初始化
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
等价于
int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12};
直接寻址:直接按变量名来存取变量内容的访问方式,称为直接寻址。
变量是通过变量地址来访问变量内容的。
间接访问:int i , *i_pointer;
i_pointer = &i;初始化
*i_pointer 的值为3
专门用于存放地址型数据的变量i_pointer就是指针变量。
通过指针变量来间接存取它所指向的变量的访问方
式,称为间接寻址
取地址运算符 : & 得到某一变量存储空间的首地址
间接访问运算符: *p 将指针P所指变量的内容取出来。
变量的指针: 指针就是地址,变量的指针就是变量的首地址。
指针的变量:
就是C语言中专门用于存放地址型数据的变量。
指针变量必须先定义后使用
类型 *变量1, *变量2,……;
运算符 * 和++、–优先级等同,连续运算,采用右结合
a=p++ 先运算p++,但为后增运算,因而先将p的值赋给a,然后p加1。
a=(p)++ 先取p的值,赋给a。然后将p所指向的变量内容加1。
字符指针:
就是指向字符型数据的指针变量
使用字符指针可以指向一个字符串
字符数组可用于存放字符串,直接通过数组元素存取字符串属于直接寻址,字符指针则属于间接寻址
int *p=&a[0]; 等价于 int *p; p=&a[0];