|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 结构体里面的 字符数组 怎么不能初始化?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
6568
人关注过本帖
标题:
结构体里面的 字符数组 怎么不能初始化?
只看楼主
加入收藏
zhabeilove
等 级:
论坛游民
帖 子:26
专家分:28
注 册:2010-9-25
结帖率:
88.89%
楼主
收藏
已结贴
√
问题点数:15 回复次数:11
结构体里面的 字符数组 怎么不能初始化?
我定义了一个结构体:
struct Database
{
char
Name[];
}Skk;
Skk.Name[] = "abcde";
这个怎么不能给Name 赋值?
只有15分了。。
搜索更多相关主题的帖子:
结构体
字符
2010-10-08 11:10
举报帖子
使用道具
赠送鲜花
linqingwudi
等 级:
论坛游民
帖 子:35
专家分:31
注 册:2010-9-14
第
2
楼
收藏
得分:0
你没有给数组结构体Name[];定义一个准确的值,因为struct Database是个数据类型,所以要确定一个值,好分配存储空间大小,就好像int占2字节一样
我记得以前学的时候书上是这么介绍的
2010-10-08 11:39
举报帖子
使用道具
赠送鲜花
vandychan
等 级:
贵宾
威 望:
18
帖 子:2296
专家分:6418
注 册:2010-8-20
第
3
楼
收藏
得分:0
Skk.Name[0] = "abcde";
Skk.Name[1] = "abcde";
.....
到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-08 12:36
举报帖子
使用道具
赠送鲜花
不归鹄
来 自:冥王星
等 级:
蜘蛛侠
威 望:
4
帖 子:491
专家分:1380
注 册:2009-12-20
第
4
楼
收藏
得分:0
你怎么没设置数组大小?这是错误的C语句。C语言里数组一出来就得要有确切大小的。
2010-10-08 16:08
举报帖子
使用道具
赠送鲜花
不归鹄
来 自:冥王星
等 级:
蜘蛛侠
威 望:
4
帖 子:491
专家分:1380
注 册:2009-12-20
第
5
楼
收藏
得分:0
以下是引用
vandychan
在2010-10-8 12:36:58的发言:
Skk.Name[0] = "abcde";
Skk.Name[1] = "abcde";
.....
楼主定义的似乎不是二维数组吧
2010-10-08 16:10
举报帖子
使用道具
赠送鲜花
vandychan
等 级:
贵宾
威 望:
18
帖 子:2296
专家分:6418
注 册:2010-8-20
第
6
楼
收藏
得分:0
以下是引用
不归鹄
在2010-10-8 16:10:15的发言:
楼主定义的似乎不是二维数组吧
搞错 呵呵
应该是 name[]={};
[
本帖最后由 vandychan 于 2010-10-8 16:14 编辑
]
到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-08 16:13
举报帖子
使用道具
赠送鲜花
zghnxzdcx
等 级:
蜘蛛侠
威 望:
4
帖 子:550
专家分:1176
注 册:2010-4-6
第
7
楼
收藏
得分:0
字符数组声明格式不对
你永远不可能战胜一个纯傻子,因为他会把你的智商拉到和他同一个水平,然后用他的丰富经验打败你。
2010-10-08 21:08
举报帖子
使用道具
赠送鲜花
御坂美琴
来 自:魔術の禁書目錄
等 级:
小飞侠
威 望:
9
帖 子:952
专家分:2929
注 册:2010-8-18
第
8
楼
收藏
得分:8
struct Database
{
char
Name[];
};
这种结构体声明倒是对的,最新的C标准支持这种写法,但是,初始化它就没这么简单了,前面还没有一个人说对正确的初始化办法呢
并且,这个东西的初始化,只能手工,先用malloc(sizeof(struct Database) + size);
其中size是你希望的Name的长度,然后你只能用strcpy这样的方式初始化了
这种结构体如果直接 struct Database Skk 这样,那就没意义了
永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-10-08 21:38
举报帖子
使用道具
赠送鲜花
vandychan
等 级:
贵宾
威 望:
18
帖 子:2296
专家分:6418
注 册:2010-8-20
第
9
楼
收藏
得分:0
以下是引用
御坂美琴
在2010-10-8 21:38:14的发言:
struct Database
{
char
Name[];
};
这种结构体声明倒是对的,最新的C标准支持这种写法,但是,初始化它就没这么简单了,前面还没有一个人说对正确的初始化办法呢
并且,这个东西的初始化,只能手工,先用malloc(sizeof(struct Database) + size);
其中size是你希望的Name的长度,然后你只能用strcpy这样的方式初始化了
这种结构体如果直接 struct Database Skk 这样,那就没意义了
谢谢瘀斑姐姐
到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-08 21:51
举报帖子
使用道具
赠送鲜花
cacker
该用户已被删除
第
10
楼
收藏
得分:7
提示:
作者被禁止或删除 内容自动屏蔽
2010-10-08 23:44
举报帖子
使用道具
赠送鲜花
12
1/2页
1
2
快速回复:
结构体里面的 字符数组 怎么不能初始化?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.017831 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved