为何将不使用的变量强制转换为void

(void)x 的作用
eg.

struct time_variables{
    int Age;
    int sex;
};


#define TG_GET( _var_, _type_, _module_)  \
{ int x = sizeof(_type_); (void)x; \
  print(_module_); print(_var_);}


int main(){
    struct time_variables c;
    int a = 2;
    int b = 4;

    TG_GET(a,c,b);
    return 0;
}

struct time_variables{
    int Age;
    int sex;
};


#define TG_GET( _var_, _type_, _module_)  \
{ int x = sizeof(_type_);  \
  print(_module_); print(_var_);}


int main(){
    struct time_variables c;
    int a = 2;
    int b = 4;

    TG_GET(a,c,b);
    return 0;
}

原来做将不使用的变量强制转换为void是为了消除编译器警告, 告诉编译器这些变量我用过了, 你就别给我发警告了.

你可能感兴趣的:(#,c语言,c语言)