C语言基础--变量存储细节
2015-08-24 21:46
155 查看
1.变量为什么要有类型? 每种类型占用的内存空间不一样 int 4, char 1 double 8
2.只要定义变量, 系统就会开辟一块存储空间给我们的变量存储数据, 内存寻址是从大到小
3.越先定义的变量, 内存地址越大
4.变量的地址就是所占的存储空间最小的字节地址
5.注意: 由于内存寻址是从大到小, 所以存储数据也是从大到小的存储(先存储二进制的高位, 再存储低位)
6.存储模拟
2.只要定义变量, 系统就会开辟一块存储空间给我们的变量存储数据, 内存寻址是从大到小
3.越先定义的变量, 内存地址越大
4.变量的地址就是所占的存储空间最小的字节地址
5.注意: 由于内存寻址是从大到小, 所以存储数据也是从大到小的存储(先存储二进制的高位, 再存储低位)
高位 --> 低位 00000000 00000000 00000000 00001001 int num = 9; // 9 -->二进制 -->存储(补码) // %p是输出地址 // &变量名称, 是取出变量的地址 printf("num = %p\n", &num); // 获取存储的每一位 char *c = # for (int i = 0; i < sizeof(num); i++) { int result = c[i]; // 取出每个字节中存储的数据 printf("%i\n", result); }
6.存储模拟
int num = 10; char charValues[4] = {'l', 'u', 'c', 'k'}; int nums[2] = {5, 6};
相关文章推荐
- C语言基础--进制
- C语言实现字符串分割(类似vb中split函数)
- c++ 必看
- C语言字符串反转
- C语言基础--循环 递归打印乘法表
- 内联函数详解--C++
- LeetCode:Ugly Number
- 回形遍历(螺旋遍历)实现-C语言版
- C语言基础--函数
- c++继承总结
- C++ Vector 简单实现 会用也要会写
- 【C++】为多态基类声明virtual析构函数
- C语言基础--for循环
- [leetcode-229]Majority Element II(c++)
- Singleton模式线程相关的(C\C++)
- (转)c & c++内存分配
- C++实现String
- c语言环境初始化&c语言和汇编混合编程
- 《effective C++》:条款07——为多态基类声明virtual析构函数
- c++ volatile