结构体中含有结构体的初始化
答案:2 悬赏:20 手机版
解决时间 2021-04-06 03:04
- 提问者网友:你给我的爱
- 2021-04-05 20:21
结构体中含有结构体的初始化
最佳答案
- 五星知识达人网友:逃夭
- 2021-04-05 21:50
struct1.c上面的要改为。c的文件名才能被编译
#include "stdlib.h"
typedef struct t_tag
{
intd;
char e[10];
}t_tg, *pt_tg;
typedef struct t_test
{
int a;
unsigned intb;
unsigned char c;
pt_tgf;
}t_ret, *pt_ret;
#include "struct1.c"
#include "stdio.h"
#include "string.h"
void print(pt_ret s)
{
printf("%c",s->c);
}
void main()
{
t_ret t ; pt_ret p;
t.f=(pt_tg)malloc(sizeof(t_tg));
{
t.a = 5;
t.b = 1;
t.c = 'c';
t.f->d = 10;
strcpy(t.f->e,"name");
}
p = &t;
print(p);
}
vc6测试通过
#include "stdlib.h"
typedef struct t_tag
{
intd;
char e[10];
}t_tg, *pt_tg;
typedef struct t_test
{
int a;
unsigned intb;
unsigned char c;
pt_tgf;
}t_ret, *pt_ret;
#include "struct1.c"
#include "stdio.h"
#include "string.h"
void print(pt_ret s)
{
printf("%c",s->c);
}
void main()
{
t_ret t ; pt_ret p;
t.f=(pt_tg)malloc(sizeof(t_tg));
{
t.a = 5;
t.b = 1;
t.c = 'c';
t.f->d = 10;
strcpy(t.f->e,"name");
}
p = &t;
print(p);
}
vc6测试通过
全部回答
- 1楼网友:怙棘
- 2021-04-05 23:16
t_ret t =
{
t.a = 5,
t.b = 1,
t.c = 'c',
t.f->d = 10,
strcpy(t.f->e,"name")
};
没有这种初始化方法,只能这样:
t_tag tag = { 10, "name" };
t_ret t =
{
5, // a
1, // b
'c', // c
&tag // f
};
或者:
t_tag tag = { 10, "name" };
t_ret t;
t.a = 5;
t.b = 1;
t.c = 'c';
t.f = &tag;
{
t.a = 5,
t.b = 1,
t.c = 'c',
t.f->d = 10,
strcpy(t.f->e,"name")
};
没有这种初始化方法,只能这样:
t_tag tag = { 10, "name" };
t_ret t =
{
5, // a
1, // b
'c', // c
&tag // f
};
或者:
t_tag tag = { 10, "name" };
t_ret t;
t.a = 5;
t.b = 1;
t.c = 'c';
t.f = &tag;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯