找回密码
 立即注册
搜索
查看: 1798|回复: 6

那个。。c语言问题。。急

[复制链接]
     
发表于 2008-3-14 21:51 | 显示全部楼层 |阅读模式
: 有这样的结构
: typedef struct{
: }my_struct
: 和这样的函数
: void my_set(my_struct *foo)
: {
:   get(foo->... )
: }
: 如果代码中这样写
: my_struct *a;
: my_set(a);
: my_struct a;
: my_set(a);
: 这两种能否编译过?如果编译能过,运行情况相同么?
回复

使用道具 举报

头像被屏蔽
     
发表于 2008-3-14 22:32 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2008-3-15 10:23 | 显示全部楼层
第一种可以编译通过,会有个警告,但运行会崩溃

第二种编译不过

话说,这种问题试验下不就知道了了,做程序要有试验精神
回复

使用道具 举报

     
 楼主| 发表于 2008-3-15 10:30 | 显示全部楼层
其实目前情况是“编译能过,运行情况相同”
谁能解释一下?
回复

使用道具 举报

     
发表于 2008-3-15 11:40 | 显示全部楼层
问题是:   get(foo->... )里干了啥

还有你用了啥编译器
回复

使用道具 举报

     
发表于 2008-3-15 12:29 | 显示全部楼层
明显get(foo->...)是得到foo结构里面的某个属性吧

第一个是个悬挂指针没有指向具体的东西 会有warnigs
第二个应该是可以的

至于结果我觉得应该不一样吧 猜的
回复

使用道具 举报

     
 楼主| 发表于 2008-3-15 12:34 | 显示全部楼层
编译器是gcc
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2025-7-19 13:51 , Processed in 0.069411 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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