1. 内存
内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的。
所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节
为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址
内存会划分为一个个的内存单元 ,每个内存单元都有一个编号
32位系统的处理器能够处理的最大内存容量是4GB:
32根地址对应2^32个地址序列,2^32个字节=4294967296个byte=4194304kb=4096mb=4gb
int main() {
int a = 3;//向内存申请四个字节存储3
&a;
printf("%p", &a);
return 0;
}
F10调试后,点击窗口中的监视,观察a的地址 ,点击内存,观察a的内存地址,发现位置相同。
当运行上述代码时,每一次输出的地址都会不同,因为每次运行都会重新分配一个内存空间。
2.指针变量的大小
指针也就是内存地址,指针变量是用来存放内存地址的变量
int main() {
int a = 3;//向内存申请四个字节存储3
int* p = &a;//p就是指针变量
*p = 20;//解引用操作符,意思就是通过p中存放的地址,找到p所指向的对象,*p就是p指向的对象
printf("%d\n", a);
return 0;
}
通过地址修改变量的值。