你能声明一个地址不变但元素可变的数组吗?

Can you declare an array with constant address but mutable elements?

C 编程语言

定义指向非常量(即可变)值的常量指针并不少见。因此,如果您不希望数组移动,但其内容会发生变化:

  1. 你能定义一个具有常量 (const) 地址但可变元素的数组吗?
  2. 如果是,那又如何?

定义了所有非常量元素数组。创建数组后,它位于固定位置。

如果你想要一个指向 mutable 值的常量指针数组(除了用于初始化它们的值之外不能指向任何其他值)然后(也许)使用这个:

#include <stdio.h>

int main(void) 
{
    int i=0;
    int j=9;
    int *const ptr[2]={&i,&j};
    *ptr[0]=3;
    printf("%d %d",*ptr[0],*ptr[1]);
    return 0;
}

输出: 3 9