gpt4 book ai didi

c - 指向全局 volatile 的静态常量指针

转载 作者:太空宇宙 更新时间:2023-11-04 03:13:17 25 4
gpt4 key购买 nike

如何声明一个指向全局 volatile 的静态常量指针?

到目前为止我有这个,但我不确定它是否正确:

// a.c
volatile bool flag_it_1;
volatile bool flag_it_2;

// a.h
extern volatile bool flag_it_1;
extern volatile bool flag_it_2;

// b.c
#include "a.h"
static volatile bool *const flag_it_ptr = &flag_it_1;

编辑:我这样使用它:

if (*flag_it_ptr) {
// work
*flag_it_ptr = false;
}

对于那些想知道我为什么使用该指针的人:我可能会在不同的编译中更改我正在使用的变量,并且不想在整个文件中更改名称,所以我只更改了一次。或多或少像宏或 const 全局变量。

这是正确的吗?

编辑:它是在 gcc 上编译的

最佳答案

该构造只是声明了指向非 const 对象的 const 指针。因此,您可以更改引用的对象,但不能更改指针本身。

 #define flag_it_ptr flag_it_1 

将在没有指针的情况下完成工作。我认为你把简单的事情复杂化了。

关于c - 指向全局 volatile 的静态常量指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54234403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com