以下代码编译并运行良好:
#include <stdio.h>
typedef int Someint;
typedef int Someint;
int main()
{
Someint b = 4;
printf("%d", b);
return 0;
}
以下代码无法编译。它给了我一个错误conflicting types for 'Somestruct'
。
#include <stdio.h>
typedef struct
{
int x;
}
Somestruct;
typedef struct
{
int x;
}
Somestruct;
int main()
{
Somestruct b;
b.x = 4;
printf("%d", b.x);
return 0;
}
为什么我可以typedef
一次type
(int
在第一个代码中)两次没有错误,但同样的事情对另一个失败type
(上面的结构)?这两种情况有什么区别?我正在使用 CodeBlocks 12.11 附带的 MinGW 编译器。