c - 你能声明一个地址不变但元素可变的数组吗?
问题描述
C 编程语言
定义指向非常量(即可变)值的常量指针并不罕见。因此,如果您不希望数组移动,但它的内容会改变:
- 你能定义一个具有常量(const)地址但元素可变的数组吗?
- 如果是,那么如何?
解决方案
这定义了所有非常量元素的数组。创建数组后,它位于固定位置。
如果你想要一个指向可变值的常量指针数组(不能指向任何其他值,而不是用于初始化它们的值),那么(也许)使用这个:
#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
推荐阅读
- parallel-processing - cuda的多线程for循环
- python-3.x - 在 wxPython 中创建自定义菜单栏类
- c++ - 在聚合初始化中使用结构
- java - 使用 JavaFX 的观察者模式和条形图的问题
- mysql - 用于仅使用星号计算数字类型列的聚合值的 SQL 查询
- java - 无法从用户那里得到“再次计算”来工作
- android - 如何制作在平板电脑和安卓设备上相同的响应式 recyclerView
- sql - ORA-00922: 创建表时选项丢失或无效
- spring - Spring Boot @Autowired by generic 不适用于 @InjectMocks
- android - 如何在戴尔灵越 3542 上调试安卓应用程序?