如果你在c文件里面定义:
static struct my_struct
{
。。。
};
则会报这个警告,去除该警告有2种方法:
(1)把static去掉:
struct my_struct
{
。。。
};
定义变量时加上static,例如static struct my_struct my_val;
(2)在定义时加上变量:
static struct my_struct
{
。。。
}my_val;
显然,这是修饰符的问题。用上static后,它修饰的是变量,但struct xxx{};只是一个类型而已。所以说类型是不需要static的,这就是方法一的实现。另外如果struct定义后面加上变量以后,那么这个static就是修饰的这个变量,警告也就没了,这也是方法二的实现。
本文探讨了在C语言中使用static关键字修饰结构体时出现的警告问题,并提供了两种有效的解决方案。第一种方法是移除static关键字并直接定义结构体;第二种方法是在结构体定义时同时声明一个实例变量。

被折叠的 条评论
为什么被折叠?



