c - C 中是否有常量指针指向指针的机制?

标签 c function constants pointer-to-pointer

我想知道 C/C++ 是否允许在函数调用中使用“const int **”?

假设我有一个矩阵,可以通过指针到指针来访问它。当我想使用这个矩阵,并禁止修改这个矩阵中的任何值时,我可以执行“func(const int **mat)”吗?我已经尝试过了,但是当我执行类似“a = mat[0][0]”的操作时,会出现错误消息。

我想知道是否允许使用“const int **”或者正确的方法是什么?

谢谢!

最佳答案

const 修饰符绑定(bind)到其左侧的标记。如果全部放在左边,则向右移动一位。所以当你写const int **时,它的意思是int const **:最终指向的整数是常量,但指针可能被操作。这可能正是您想要的。

因此,如果您收到错误,可能是因为您的 a 没有引用 int const (或 -- const int code>),但只是一个 int

关于c - C 中是否有常量指针指向指针的机制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31620505/

相关文章:

c++ - 与类成员的函数调用?

JavaScript 函数返回调用该函数时要使用的对象

c++ - 返回临时对象并绑定(bind)到 const 引用

c++ - 在 c++ 中,为什么编译器在 const 也可以工作时选择非常量函数?

c++ - 在用 SWIG 编译的 c 和 lua 模块之间共享数据指针

php - 是否可以通过标题重定向将变量发送到页面?

c - 写入文件描述符

java - 最终静态变量及其使用

c - 如何从C运行外部程序并解析其输出?

c - Windows 上的 GNU Make 模式规则