C陷阱与缺陷笔记
来源:互联网 发布:python 无穷大 编辑:程序博客网 时间:2024/06/02 00:58
1.当计算机启动时,硬件调用首地址为0位置的子例程:
(*(void(*)())0)()解释:
从里面往外看,先看里面的 void(*)(),这是个函数指针类型,这种类型的对象是函数,该函数无参数和返回值(即void)。
再往外一层,(void(*)())0,这是个强制转化,即将0强制转化成函数指针。
再往外一层,(*(void(*)())0)(),这是调用0地址处的函数。
利用typedef使表述更加清晰:
typedef void (*fp)();(*(fp)0);2.C语言运算符优先级(从高到低)
() [] -> . ;接下来是单目运算符(自右至左);然后是双目运算符,其中算术运算符最高,移位运算符次之,关系运算符再次之,接着是逻辑运算符,赋值运算符(自右至左,三目运算符即条件运算符(自右至左)高于赋值运算符);逗号运算符最后。
if(flags & FLAG != 0)...r=hi<<4+low;由于关系运算符高于逻辑运算符,第一条语句被解释为
if(flags & (FLAG != 0))...第二条语句被解释为
r=hi<<(4+low);3.struct 声明后别忘记加分号
- C陷阱与缺陷笔记
- C缺陷与陷阱 笔记
- C陷阱与缺陷笔记
- C 陷阱与缺陷 笔记
- 《C陷阱与缺陷》笔记
- C陷阱与缺陷笔记
- C陷阱与缺陷笔记
- C陷阱与缺陷笔记
- C陷阱与缺陷 笔记
- C陷阱与缺陷笔记
- 《C陷阱与缺陷》笔记
- C陷阱与缺陷--笔记
- C陷阱与C缺陷笔记
- c陷阱与缺陷 学习笔记
- C语言缺陷与陷阱(笔记)
- C语言缺陷与陷阱(笔记)
- C语言缺陷与陷阱(笔记)
- C语言缺陷与陷阱(笔记)
- android 通过uri截取指定大小的图片显示在imageview上
- 在ubuntu 10.04.01TLS 中安装中文输入法
- P 123
- linux sort 命令详解
- service httpd does not support chkconfig
- C陷阱与缺陷笔记
- poj1328
- js通过事件获取页面元素对象-适用于IE、FireFox
- 线程相关问题
- asp.net gridview itemtemplate中控件事件获取行参数
- CF C. Students' Revenge
- C++面试题
- 提升Oracle所需的基础技能
- 模版+数据分离渲染方式的设计与实现