1.c包括三种流程控制:顺序、循环、选择。
2. break语句通常用于跳出switch、do-while、for、while等循环语句,不能用于跳出if语句。
continue:跳出此次循环,继续执行下一次循环
return 终止函数或者终止函数向主调函数返回一个值;
3. 数组 a[N] = {N};
4.c语言的基本单位是函数;
5.在工程文件中局部变量会屏蔽全局变量;
6.内存:一个字节=8个位(0000,1111)
7. int* p; 变量名p,里边存放的是地址编号;int* 是数据类型,表示变量P是存放int类型变量的地址的一个指针变量;
所谓指针,就是指内存地址。地址是内存单元的编号,是从0开始的整数,范围0~4G。(地址总线32位,pow(2,32)=4G).
1k=1024b; 1M=1024b; 1G=1024M;
8.&取地址符,一般int i; 则 p =&i; p表示一个存放地址的变量,i是一个int变量;
9.p =i是对的:p是以p内容为地址的那个变量,就是i;
10.野指针:指向了同一内存的不同指针,只释放一次即可,重复释放就报错。
free后,申请内存的那个指针就会变成野指针,声明了,但是没有任何指向,p=NULL;
11.实参和形参是不同的变量。
sizeof(变量名)=变量字节数;
sizeof(数据类型)=数据类型字节数 ;
硬件内存里,地址要4个字节来存放(32位系统,64位是8个字节)。
12.动态内存分配:malloc();realloc()补充分配内存;
13. int* p = (int) malloc(4);p是地址占4个字节,p指向的变量分配4个字节,一共占了8个字节;
14.多级指针:
int p =&i; -> p的类型是int(存放int类型变量的地址);
intq = &p; -> q的类型是int(存放int类型变量的地址);
使用指针的优点: 内容少,速度快!
15.枚举:一种数据类型,本质上将变量替换成了实际意义,代码更安全。
16.逻辑运算
&&逻辑与; ||逻辑或
& 按位与; | 按位或; ~ 按位取反;^ 按位异或
17. 结构体数组:定义
struct student{
int xh;
char *name;
char *sex;
}stu[30];
定义了一个结构体数组stu,共有30个元素,stu[0]--stu[29];
每个stu[]元素都是struct student类型
点操作符引用:
` struct student{
int xh;
char name[];
}stu[4];
strcpy(stu[0].name,"Tom");
stu[1].xh = 1;
`