一般来讲,每个字节(8bit)有唯一的内存地址
地址只是一个内存空间的标识(位置)
通常用16进制表示内存地址 (为什么使用十六进制)
#include<stdio.h>
int main(){
int a = 0;
int b = 1;
printf("%0x\n",&a); //%0x和%p都表示十六进制,只是格式不一样
printf("a的地址:%p\n",&a);
printf("b的地址:%p",&b);
}
//运行结果
62fe1c
a的地址:000000000062FE1C
b的地址:000000000062FE18
//int类型占四个字节,所以a、b之间地址差4
参考博客:
1.关于内存地址和内存空间的理解
2.C++中指针、地址、内存与字节的关系
3.C 里面 —变量名-- 和 --地址-- 的关系探讨
4.STM32内存大小与地址的对应关系以及计算方法