如何使用 struct A 修改 struct B 中的数据。它没有名称,只有一个类型。
struct A {
struct B;
};
struct B {
int data;
};
Run Code Online (Sandbox Code Playgroud)
由于这是学校用的,我无法更改上面的代码。我只能使用它。我为我的主要尝试过这样的事情,但它不起作用
int main (){
struct A myStruct;
myStruct.B.data = 3;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
提前致谢。
编辑:抱歉,我只是想尽快发布此内容,这就是为什么我没有使用正确的 c 语法发布此内容。无论如何,我的问题不够清楚是我的错。
我知道我的 main 不起作用我只是想知道是否有可能访问结构 B 中的数据而不像上面那样在结构 A 中声明它的名称。这是老师给我的代码,所以我不想修改结构体,因为我想也许她想让我们集思广益,像她写的那样使用它。
iharob 解释它的方式通过在结构 A 之前声明结构 B 并实际为结构 B 命名来完美地工作。
是否根本不可能在不给它命名的情况下访问结构 B 中的数据?
您发布的代码甚至不是 c 代码,它无法编译。
您的主要错误是您不需要使用struct名称来访问成员。这个应该不错
struct B
{
int data;
};
struct A
{
struct B member;
};
int main(void)
{
struct A instance;
instance.member.data = 3;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我假设您发布了一些示例代码,不要那样做。发布有问题的实际代码。您发布的代码是完全无效的,因为定义的某一个缺乏类型,你不能声明struct不使用Sstruct在ç除非你typedef吧。所以请下次发布实际代码。
并且除非您真的知道自己在做什么,否则不要struct与struct成员建立如此复杂的s 。
| 归档时间: |
|
| 查看次数: |
1845 次 |
| 最近记录: |