C总结-第一章 关键字(1/6)

第一章 关键字

1. 三重条件操作符

? :

 

2. sizeof操作符

1)用于计算对象占用内存大小

2)sizeof(int)*p表示什么意思? 若p为可计算的类型(short、int、long)则表示int所占内存大小乘以p,否则出错。

★实例:

int p = 4;

p = sizeof(int)*p; // p = 16

 

3. static作用:限定函数或变量作用域

1)修饰变量:全局变量(被定义的文件内使用)、局部变量(下次调用函数时,仍然使用上次变量的值)

2)修饰函数:仅限本文件内使用该函数

 

4. int类型:因机器不同,int等于机器字长

 

5. 与零值比较

1)布尔类型:if (flag);  if(!flag);

2)float类型:if (val >= -EPSION) && (val<= EPSION); //EPSION为精度值

3)指针变量:if (NULL == p);  if(NULL != p);

 

6. 空语句的最佳写法

NULL;

 

7. switch/case

1)每个case语句之后必须加上break,以及最后必须有default处理case以外的默认情况

2)case后面只能是整型或字符型的常亮或常量表达式

3)case情况排序:

①按字母排序

②先正常情况,后异常情况

③按执行频率,先高频,后低频

4)case后的代码最多别超过20行,多的话使用子程序或者函数

5)continue只能用在循环体中(for、while、do-while),不能用在switch

 

8. do、while、for

1)尽量把短循环放在外面,长循环放在里面,以减少CPU跨切循环层次数

2)for循环采用半开半闭区间为佳

for(n = 0; n< 10; n++)

3)把循环嵌套控制在三层以内

 

9. goto

编程水平与使用goto次数成反比,建议禁用

 

10. void

真正作用:对函数返回的限定,对函数参数的限定

1)函数没有返回值,声明其参数为void

2)函数无参时,声明其参数为void

3)void *为任意类型指针

4)void不能代表一个真实的变量

 

11. return

不能返回指向“栈内存”的指针,该内存在函数体结束时被释放。

 

12. const

1)const修饰的是只读变量

2)节省空间,避免不必要内存分配,同时提高效率

const:第一次分配内存,之后不用

define:替换一次分配一次内存

3)修饰一般变量、数组、指针、函数的参数,函数的返回值

4)忽略类型名,const离谁近修饰谁

5)const修饰的只读变量不能用来定义数组的维数,也不能放在case语句后

 

13. volatile  //易变、不稳定

使编译器对该变量的代码不进行优化,从而可以提供对特殊地址的稳定访问。

 

14. 空结构体为1byte

 

15. struct

结构体内不能赋初值(因为它是一种变量类型)。

柔性数组:结构体中最后一个元素是未知大小的数组

函数体中数组为柔性数组,且结构体计算大小时,不计在内。

★实例:

typedef struct st_type

{

int i;

int a[];

}type_a; //此结构体大小恒为4byte,即使以后分配内存

 

16. union 

大小为最大成员的字节数,且多个成员公用内存。

 

17. enum

enum type_name  //type_name为数据类型名

{

//变量值列表

}variable_name; //variable_name为变量,取值范围在括号内


18. typedef //给变量取别名,发生在编译阶段,define是在预处理

变量名就是类型名,变量名等于新类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值