13*指针:
13.1 -- 内存:
内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的。
【32位操作系统的内存由32根地址线产生的高低电位(1/0),
划分为2的32次方个地址(编号\指针),一个地址为一个字节,
等于8比特。】
*所以为了有效地使用内存,就把内存划分成一个个小的内存单元,每个内存单元地大小是1个字节(Byte),等于8个比特(bit)。
*一个内存单元多大比较合适?
计算机中的单位:
bit(比特)
Byte(字节) = 8 bit
KB(千字节) = 1024 Byte
MB(兆) = 1024 KB
GB(吉字节) = 1024 MB
TB(太字节) = 1024 GB
PB(拍字节) = 1024 TB
(1024 = 2的十次方)
......
*为了能够有效地访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。
*地址或者编号如何产生?(地址 = 编号 = 指针)
(这张图要仔细看理解一下)
*程序运行起来,要加载到内存中,也要申请内存空间使用
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h>; int main() { int a = 15; return 0; } //数字--整型--4个字节--32个比特位 转换为 8个十六进制位 // 4个二进制位 转换成 1个十六进制位 、 //用二进制表示15: 1111 //用十进制表示15: 15 //用十六进制表示15: F --> 0x 00 00 00 0f // 12 34 56 78 -->8个十六进制位 // 32个比特位(32个二进制位) //32位操作系统的内存由32根地址线产生的高低电位(1/0), //划分为2的32次方个地址(编号\指针),一个地址为一个字节, //8比特。 // 4个字节 * 8个比特位 = 32个比特位(二进制位) //
(4个字节 对应 4个地址,虽然a占有4个字节,但是当我们&a的时候,拿到的是4个字节中第一个字节的地址)
【4个字节 * 8个比特位 = 32个比特位(二进制位)】