一、const 常量内存分配时机
在上一篇博客中 , 讲到了获取 const 常量的地址 , 代码如下 :
// 定义常量
// 该常量定义在了 符号表 中
// 符号表 不在内存四区中..., 常量在程序内存中的位置就已经固定了 ;
const 常量值在 内存分配完毕后 就不能再被修改 , 因此可以使用常量表示固定值 , 如 : 圆周率
\pi
, 自然数
e
;
const 常量...分配内存的时机 是 编译器 编译期间 进行分配的 ;
指针 p 获取 const 变量地址时 , 会在堆内存中为该指针分配一个内存地址 , 该分配内存的时机 是 编译器 编译 代码期间 进行的 ; (...三、分析验证结果 - const 常量在编译阶段分配内存
在上述代码中 , 先定义了变量 a , 再定义了常量 b , 最后定义了变量 c ;
变量 a 和 变量 c 肯定是在编译器编译时分配内存的 ,...各差 12 字节的内存 , 三个 变量 / 常量 的内存是连续的 , 说明是在同一时间分配的内存 ;
变量 a 和 c 是编译器编译时分配的内存 , 三者内存连续 , 分配内存时间相同 , 说明 常量