c语言复习课程1(唐老师答疑课)
2013-07-17 22:07
323 查看
1.register变量不能当作全局变量,因为cpu的资源是否有限,所以编译器会严格保护资源,不会让register变量申请为全局变量。
2.对于register变量进行取地址运行,一般编译器会进行报错,因为这是去取寄存器中的地址,寄存器是没有地址的。
3.位运算和逻辑运算不要一起使用~~~注意:位运算没有短路特性,这个很明显。
4.对于volatile和const同时使用定义一个变量的情况:我只能想到对只读寄存器的定义。 volatile最好不要理解成易变的,应该理解成直接从内存地址中取值,编译器不做优化。
5.sizeof(fun()) 这条语句没有执行fun() 因为sizeof不是函数,是关键字是在编译器就决定的了。
6.对于unsigned int的输出和unsigned long的输出,在printf中本来对于unsigned long应该用%lu来定义格式的,unsigned int用%u来定义格式的。但是由于现在的编译器大多把int和long都当作32位来用,所以都可以只用%u来输出。这里有一个值得提示的是:记得对于long型的输出应该是%ld %lo %lx %lu等的。
7.对于long long类型还没有找到很官方的资料,网上都说是64位的,输出格式应该是%lld,%llu,%llo,%llx等。
2.对于register变量进行取地址运行,一般编译器会进行报错,因为这是去取寄存器中的地址,寄存器是没有地址的。
3.位运算和逻辑运算不要一起使用~~~注意:位运算没有短路特性,这个很明显。
4.对于volatile和const同时使用定义一个变量的情况:我只能想到对只读寄存器的定义。 volatile最好不要理解成易变的,应该理解成直接从内存地址中取值,编译器不做优化。
5.sizeof(fun()) 这条语句没有执行fun() 因为sizeof不是函数,是关键字是在编译器就决定的了。
6.对于unsigned int的输出和unsigned long的输出,在printf中本来对于unsigned long应该用%lu来定义格式的,unsigned int用%u来定义格式的。但是由于现在的编译器大多把int和long都当作32位来用,所以都可以只用%u来输出。这里有一个值得提示的是:记得对于long型的输出应该是%ld %lo %lx %lu等的。
7.对于long long类型还没有找到很官方的资料,网上都说是64位的,输出格式应该是%lld,%llu,%llo,%llx等。
相关文章推荐
- 木其工作室(专业程序代写服务)[原]c语言复习课程1(唐老师答疑课)
- 高级数据库技术 课程复习笔记
- C程序设计课程-2012电子信息 第六次实验:实践和复习
- 【C语言复习(八)】宏定义的使用与分析
- 【C语言复习(十六)】main函数及其参数
- C语言复习 --指针表示一个字符串
- #2:C语言复习:基本输入输出函数;
- 【C语言复习(二十八)】函数本质、顺序点
- C语言连接MySQL数据库(课程设计总结)
- 数据结构复习之C语言指针与结构体
- 【认证课程】NP 理论复习之ospf(一)
- 复习C语言随笔 一
- 自学笔记—C语言复习2015年6月23日
- 【C语言助教】35名学生,每名学生4门课程,随机产生,计算平均成绩,按平均成绩排名排名
- UML课程复习重点
- 分享:《C语言也能干大事》课程
- C语言的复习
- C语言结构体复习
- c语言复习笔记1
- C语言复习笔记 15