我有一个练习,我必须实现一个与C
中的这一行相匹配的结构int main() {
t_foo foo;
foo.foo.foo = 0;
return (0);
}
我尝试创建一个嵌套结构,但我不能用同名创建。你知道吗?
答案 0 :(得分:3)
struct a
{
int foo;
};
struct c
{
int d;
struct a foo;
};
int main(void)
{
struct c foo;
foo.foo.foo = 2;
printf("%d\n",foo.foo.foo);
return 0;
}
答案 1 :(得分:1)
例如,您可以通过以下方式执行此操作
#include <stdio.h>
typedef struct foo
{
struct
{
int foo;
} foo;
} t_foo;
int main(void)
{
t_foo foo;
foo.foo.foo = 0;
printf( "%d\n", foo.foo.foo );
return 0;
}
或者
#include <stdio.h>
typedef struct
{
struct foo
{
int foo;
} foo;
} t_foo;
int main(void)
{
t_foo foo;
foo.foo.foo = 0;
printf( "%d\n", foo.foo.foo );
return 0;
}