c++ - 静态分配数组的内存分配是否总是按地址值顺序排列?

标签 c++ arrays memory-management

当我们在堆栈上创建一个数组时,比如 int arr[20];,是否保证数组的每个单元格在内存中相隔 4 个字节?或者可能会发生某些单元格未按顺序分配的情况?

最佳答案

数组保证存储在连续的内存中。指针算法以这样的方式定义

&arr[i] + 1 == &arr[i + 1]

关于c++ - 静态分配数组的内存分配是否总是按地址值顺序排列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56757540/

相关文章:

c++ - 如何检查 C++ 映射中是否存在某个值

java - 如何创建具有两个矩阵的对象?

python - Numpy 数组均值函数在均值计算中未排除屏蔽元素

c++ - 如何编写一个复制构造函数来复制一个指针?

c++ - 如何通过子类型列表创建指针 vector ?

c++ - "No matching function for call error"与 g++

c++ - std::count 错误

c - C 中整数除法返回 0

linux - __va() 和 phys_to_virt() 有什么区别?

ruby - 对象内存分配