常量数组指针指向常量值

Const array pointer to const values

本文关键字:常量 指针 数组      更新时间:2023-10-16

如果我创建一个常量值的全局数组,例如

const int SOME_LIST[SOME_LIST_SIZE] = {2, 3, 5, 7, 11};

是否可以以任何方式修改SOME_LIST?

我怎样才能写出这样SOME_LIST指向常量内存位置,并且是常量指针本身(即不能指向其他地方)?

有 3 个涉及 "const" 关键字的指针的主要示例。(见此链接)

首先:声明指向常量变量的指针。指针可以移动并更改它指向的内容,但无法修改变量。

const int* p_int;

其次:声明指向变量的"不可移动"指针。指针是"固定的",但数据可以修改。必须声明和分配此指针,否则它可能指向 NULL,并在那里修复。

int my_int = 100;
int* const constant_p_int = &my_int;

第三:声明一个指向常量数据的不移动指针。

const int my_constant_int = 100; (OR "int const my_constant_int = 100;")
const int* const constant_p_int = &my_constant_int;

你也可以使用它。

int const * const constant_p_int = &my_constant_int;

另一个很好的参考见这里。我希望这会有所帮助,尽管在写这篇文章时我意识到你的问题已经得到了回答......

你拥有它的方式是正确的。

此外,您不需要提供SOME_LIST_SIZE;C++将从初始值设定项中自动计算出来。