当类型定义为结构体指针时,是否可以将 var 定义为指向 const 的指针?

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.

P__*_*J__ 7

不要将指针隐藏在 typedef 后面。这是一种非常糟糕的做法,在您的情况下,不可能声明这样的变量。

typedef struct test_t { 
    void *unused; 
} test_t;

const test_t *var;
Run Code Online (Sandbox Code Playgroud)