7 变量存储细节
- %p 输出地址
- 当第一变量时,首先会分配地址大的字节,所以先定义的变量地址大于后定义的变量地址
- 计算机内存上每个字节都有一个地址
- 变量的地址就是变量所在存储空间最小的那个地址
- 高位在高字节上,地位在低字节上
- 申请的地址占用的字节数一般大于实际使用的字节数,但在内存分配时是按实际使用的字节数向后继续分配的也就是说
- 如果分配了4个字节的变量
- 实际上值占用了1个字节
- 那么在分配后续变量时,实际上是连续分配的
- 注意从前到后定义的变量的地址不一定总是连续的,但一个变量中的地址肯定是连在一起的
8 变量类型修饰符
变量的存储范围
int a = (1 << 31) -1 //便是int最大存储范围
- 修饰长度
- short 2字节 使用%hd打印
- long 8字节 使用%ld打印(32为占4字节)
- long long 8个字节 %lld(32为占8字节)
- long 与 long long 在32位系统有区别 64位一样
- 这种修饰符都是用来修饰int的,所以int 是可以省略的
- 修饰符号
- siged 有符号的数(默认有符号)
- unsigned 无符号的数
+修饰符号的可以修饰所有修饰长度的修饰符