1、32位系统最大支持4GB内存
3、读书笔记
4、attribute((packed)) 和_attribute_((aligned(n)))
32位系统最大支持4GB内存
指针的值(虚拟地址值)使用一个机器字的大小来存储。也就是说,对于一个机器字为w位的电脑而言,它的虚拟地址空间是0~2w - 1 ,程序最多能访问2w个字节。这就是为什么xp这种32位系统最大支持4GB内存的原因。
读书笔记
- 数据类型只是对其所修饰的数字或者符号所代表内存空间的长度和解析方法的规定。
- 结构体变量名代表的是整个结构体,而数组名代表的是数组首地址。所以一般用结构体指针作函数形参。
- 栈,又叫堆栈,是一种数据结构,用来保存局部变量(非静态局部变量)。栈的特地是入口即出口,所以先进去的后出来(先进后出),与之对应的就是队列。队列的特点是入口和出口都有,必须从入口进去,从出口出来(先进先出),防止堵住后边数据。
- 局部变量存在于栈(stack)中,静态局部变量和全局变量存在于静态数据区中,动态申请的数据存在于**堆(heap)**中。
attribute((packed)) 和_attribute_((aligned(n)))
使用_attribute_((packed)) 和_attribute_((aligned(n))) 直接放在类型定义的后面,那么该类型就以指定的方式进行对齐。packed的作用是取消对齐,aligned(n)表示对其方式。