我目前正在使用 C++ IDE 来处理需要在 C 上运行的内容,并希望确保以后不会遇到问题。制作以下结构后:
typedef struct test {
int a;
int b;
};
然后我使用创建它的一个实例
test my_test;
然后像 my_test.a = 5
等等...这在我的 VStudio C++ 中运行良好。
这以后会在 gcc
上工作吗?
我阅读了弹出的相关问题(我发现我也不是第一个提出此类问题的人)但似乎没有人按照我的方式使用。
其实typedef struct {//stuff} test;
和我的版本有什么区别?
最佳答案
typedef struct THIS_IS_A_TAG
{
int a;
int b;
} THIS_IS_A_TYPEDEF;
THIS_IS_A_TYPEDEF object1; // declare an object. C:Ok, C++:Ok
struct THIS_IS_A_TAG object2; // declare another object. C:Ok, C++:Ok
THIS_IS_A_TAG object3; // declare another object. C:Not Ok, C++:Ok
typedef 的原因是因为 C 程序员希望能够做第三件事,但他们做不到。
关于c++ - C 与 C++ 中的 struct 和 typedef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4082972/