use*_*927 1 c pointers typedef constants declaration
假设test_t定义如下:
typedef struct test_t {
void *unused;
} *(test_t)
Run Code Online (Sandbox Code Playgroud)
是否可以将变量定义为指向 const 的指针而不修改 的定义test_t?
const test_t var将是一个指向 的 const 指针struct test_t,对吧?
我遇到这个问题,因为 sonarqube 建议“使该变量的类型成为指向 const 的指针”,但我无法更改定义,因为它在许多其他地方使用,其中变量应该是指向struct test_t.
不要将指针隐藏在 typedef 后面。这是一种非常糟糕的做法,在您的情况下,不可能声明这样的变量。
typedef struct test_t {
void *unused;
} test_t;
const test_t *var;
Run Code Online (Sandbox Code Playgroud)