error C2143: 语法错误 : 缺少“;”(在“类型”的前面)

如果习惯了不区分C/C++,那么在VS里面编译C的时候遇到这种问题会感到很棘手。

明明是写好的,为什么就会出现这种情况呢?如果用Cpp扩展名就不会出现问题。

写C时,遵循一下两个原则就可以解决上述问题:

  1. 定义结构体变量时前面要加上struct。

  2. 变量定义要全部放在最前面,不支持在文件中间定义临时变量。