如果你在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就是修饰的这个变量,警告也就没了,这也是方法二的实现。