新
新世纪
Unregistered / Unconfirmed
GUEST, unregistred user!
1. 你的问题很好;
2. 一个基本变量占用(使用)内存大小是固定的, 例如 shortint占一个字节;
3. 但系统(操作系统或者你的程序中的内存管理器)不是每次你要一个字节的位置(空间)就给你个字节的, 一般一次内存分配至少是4个字节(也可能是8个,16个...);
4. 举个简单的例子吧: 就拿计算机中你能直观看到的: 有的文件本身大小只有几个字节, 但占用的硬盘空间就是4K(或者8K, 16K, 硬盘格式不一样而不同)
就是说: 硬盘也不是你想要几个字节就给你几个字节的空间的, 它有最小的分配单位
这样做的好处是管理起来方便一些, 否则太乱了;
5. 你的问题中含混的问题太多, 例如又引出: 基本变量、指针、内存管理、内存申请与释放、堆、栈...等一系列问题
这些问题有的还是比较复杂的, 但如果要做一个好的程序员的话, 一些简单的基本原理还是要掌握的
// 例如知道这些简单原理后, 就能解答为什么用char不出错而用integer就出错这样看起来很奇怪的问题...
6. 我回答问题不是看着你的分而来的, 是因为你的问题比较好, 值得一般人都来思考与学习的.
2. 一个基本变量占用(使用)内存大小是固定的, 例如 shortint占一个字节;
3. 但系统(操作系统或者你的程序中的内存管理器)不是每次你要一个字节的位置(空间)就给你个字节的, 一般一次内存分配至少是4个字节(也可能是8个,16个...);
4. 举个简单的例子吧: 就拿计算机中你能直观看到的: 有的文件本身大小只有几个字节, 但占用的硬盘空间就是4K(或者8K, 16K, 硬盘格式不一样而不同)
就是说: 硬盘也不是你想要几个字节就给你几个字节的空间的, 它有最小的分配单位
这样做的好处是管理起来方便一些, 否则太乱了;
5. 你的问题中含混的问题太多, 例如又引出: 基本变量、指针、内存管理、内存申请与释放、堆、栈...等一系列问题
这些问题有的还是比较复杂的, 但如果要做一个好的程序员的话, 一些简单的基本原理还是要掌握的
// 例如知道这些简单原理后, 就能解答为什么用char不出错而用integer就出错这样看起来很奇怪的问题...
6. 我回答问题不是看着你的分而来的, 是因为你的问题比较好, 值得一般人都来思考与学习的.