来自C ++背景。我需要为我的一门课程写C,这是我从未接触过的。这两个声明之间的区别是什么?为什么要包含struct关键字?有不同的含义吗?他们在C ++和C中有不同的含义吗?
struct A {
int dataA;
A* nextA;
};
struct B {
int dataB;
struct B* nextB;
};
下面的评论说第一个在C中无效。但是,我正在使用gcc进行编译。
编辑:我正在使用gcc编译.cpp文件。我是个小伙子哈哈。
解决方案:第二个是C所必需的,其中第一个仅在C ++中有效。
答案 0 :(得分:2)
struct B {
int dataB;
B* nextB;
};
与
相同struct B {
int dataB;
struct B* nextB;
};
在C ++中而不在C中。使用C时,您必须使用第二种形式。第一种形式不合法C.