一、定义变量
定义变量:按类型分配空间
类型 变量名;
类型 数组名;
二、指针和变量
1、引用变量:自身内容:变量名; *地址
数组名[下标]
三、指针与数组
1、指针与一维普通数组
指针数组:专门用于存放指针的数组
类型* 数组名[长度] eg:int* buf[10]
引用元素:数组名[下标法]
2、指针与二维数组:int buf[10] int buf[3][4]
一维数组名:是指向该行第一列
buf+0第一行 buf+1第二行
二维数组:是指向某一行的地址
(1)buf1+0第一行 buf1+1第二行 buf1行地址
(2)buf1[0] buf1[1] buf1[2] 三个一维数组组成的一个int buf1[3][10]的二维数组
所以buf1[0]等价于一维数组的名字(列)
buf1[0]+0第一行的第一列 buf1[0]+1第一行 第二列的地址
3、引用内容:必须确定到行和列
buf1[2][2],*(buf1[2]+2),*(*(buf1+2)+2,(*(buf1+2))[2]
4、二维指针变量:类型 (*指针变量)[列]
四、指针与结构体变量
1、结构体:自定义类型
2、结构体变量:分配空间按类型分配
3、定义结构体指针变量:struct 类型* 变量名
4、引用成员:
变量.成员
指针->成员;
(*指针).成员;
注:指针变量必须指向一个元素
5、优先级:
. > * >运算符>逻辑运算符>赋值
6、结构体指针数组:
类型* 数组名[长度]
struct people* buf[10];