C陷阱与缺陷 笔记2

当常数0被转换成指针使用,这个指针绝对不能被解除引用,即当我们将0赋值给一个指针变量时,绝对不能企图使用该指针所指向的内存中的所存储的内容。 数组中实际不存在的溢界元素的地址位于数组所占内存之后,这个地址可以用于赋值和比较,但不能引用该元素。 if (bufptr == &buffer[N];等效于if (buffer > &buffer[N-1]);数组buffer中的buffer[N]这个元素是不存在的,但是它的地址是存在的。 运算符&&和||首先对左侧的操作数求值,只在需要的时才对右侧的操作数求值。 运算符?:有三个操作数,a? ...
C语言笔记 | 2011-04-04 22:52 | 阅读 1058 次 | 评论 0 条

深入理解计算机系统 笔记

几乎所有的机器上,多字节对象都被存储为连续的字节序列,对象的地址为所使用字节中最小的地址,例如:int 型变量x的地址为0X100,即地址表达式&X的值为0X100,那么x的4个字节将被存储在存储器的0X100,0X101,0X102和0X103的位置。 考虑一个十位整数,位表示为[Xw-1,Xw-2,...,X1,X0],其中Xw-1是最高有效位。X0为最低有效位,若w是8的倍数,这些位可被分组为字节,期中最高有效字节包括位[Xw-1,Xw-2,...,Xw-8],最低有效位包括[X7,X6,...,X1,X0],其他字节包括中间的位。最低有效字节在最前面的方式为小端法...
C语言笔记 | 2011-04-01 23:01 | 阅读 1386 次 | 评论 1 条
浏览10574次