鱼C论坛

 找回密码
 立即注册
查看: 4875|回复: 10

嵌套结构体数组无法赋初始值

[复制链接]
发表于 2013-6-21 19:23:25 | 显示全部楼层 |阅读模式
1鱼币
结构体数组无法赋初始值.png

最佳答案

查看完整内容

结构体确实可以包含另一个结构体,但是结构体是不能调用另一个结构体的。比如struct A包含了struct B,那么在A有了实体之后就自然生成了B的实体,并且是嵌套在A里面的。你要给B赋初值的话就必须同时给A赋初值。但是在A未生成实体,也就是在struct A定义的时候是不能对struct B的一个进行赋初值的,因为A没有实体的时候B也没有实体,没有实体怎么能赋初值呢?对吧。不过你可以给A写一个构造函数,在构造函数里可以给B的成员变量赋初 ...
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-6-21 19:23:26 | 显示全部楼层
结构体确实可以包含另一个结构体,但是结构体是不能调用另一个结构体的。比如struct A包含了struct B,那么在A有了实体之后就自然生成了B的实体,并且是嵌套在A里面的。你要给B赋初值的话就必须同时给A赋初值。但是在A未生成实体,也就是在struct A定义的时候是不能对struct B的一个进行赋初值的,因为A没有实体的时候B也没有实体,没有实体怎么能赋初值呢?对吧。不过你可以给A写一个构造函数,在构造函数里可以给B的成员变量赋初值,但这个构造函数也是当生成了一个A实体之后才调用的。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-6-21 19:27:02 | 显示全部楼层
结构体内是不能直接对成员变量赋初值的。你要么定义一个构造函数,要么在结构体外部对这个结构体的一个实体进行赋初值,用'.'操作就行
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-6-21 19:33:38 | 显示全部楼层

QQ截图20130621193427.png
这又是什么情况?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-6-21 19:44:13 | 显示全部楼层
不知道可不可以显示,希望能帮助到你
help.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-6-21 19:51:12 | 显示全部楼层
推荐你可以用这个方法:
s_student s={"a\0","a\0",{{"123\0",(float)3.2},{"456",(float)6.4}},"123\0"};
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-6-21 19:58:34 | 显示全部楼层
小号4 发表于 2013-6-21 19:44
不知道可不可以显示,希望能帮助到你

这里是一个结构体内嵌另一个结构体数组,并不是简单的一个单独的结构体。

我需要用这一个结构体调用它包含的结构体并且进行赋值。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-6-21 20:30:23 | 显示全部楼层
不懂,好高深的样子
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-6-21 21:04:21 | 显示全部楼层
小号4 发表于 2013-6-21 20:12
结构体确实可以包含另一个结构体,但是结构体是不能调用另一个结构体的。比如struct A包含了struct B,那么 ...

懂了


如果构造函数,如何简单构造呀,是不是,写一个函数生成A的实体,其他成员随便写入一些值或者为空,只有包含的那个结构体,才是输入值。


那应该我这样写就是正确的了:
1.png

然后我想调用它,就如下:
2.png
既然生成了实体了,就存在 course 这个结构体类型成员,就应该可以打印出来了。但是输出错误了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-6-21 21:21:32 | 显示全部楼层
Skuone 发表于 2013-6-21 19:58
这里是一个结构体内嵌另一个结构体数组,并不是简单的一个单独的结构体。

我需要用这一个结构体调用它 ...

C语言应该是不允许的吧~~如果是c++的话就可以在构造函数里面弄。
希望帮到你吧~~而且二楼的方法不错~~
支持支持~~{:7_155:}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-6-21 22:37:29 | 显示全部楼层
应该是这样写的
help.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-22 10:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表