标题:关于read函数的强制类型转换的问题
只看楼主
zwdbxlt
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2015-1-1
结帖率:100%
已结贴  问题点数:20 回复次数:4 
关于read函数的强制类型转换的问题
大家好,本菜鸟终于看到了c程序设计语言的第八章,其中的一个目录列表的习题甚是令人疑惑。
typedef  struct{long ino;char name[NAME_MAX+1];} Dirent;
typedef  struct{int fd;Dirent d;} DIR;
struct direct{ino_t d_ino;char d_name[DIRSIZ];}; 其中ino_t 为unsigned short类型
DIR *dp;
struct direct dirbuf;
while(read(dp->fd,(char *)&dirbuf,sizeof(dirbuf))==sizeof(dirbuf))
我的困惑时dirbuf和dp是两种不同类型的结构,这样赋值可以吗?能得到正确的数据?

[ 本帖最后由 zwdbxlt 于 2015-3-1 23:56 编辑 ]
搜索更多相关主题的帖子: c程序设计 direct 
2015-03-01 23:22
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:20 
就是从一个叫做dp的桶里舀出一升水放进容量为一升的叫做dirbuf的瓶子里,有什么违和的吗?

[ 本帖最后由 forever74 于 2015-3-2 00:03 编辑 ]

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2015-03-02 00:01
zwdbxlt
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2015-1-1
得分:0 
回复 2楼 forever74
大小是可以,但是后期要引用direct->d_ino这个值,通过上面的引用我看不出这个值的意义。。。。。
2015-03-02 00:09
forever74
Rank: 12Rank: 12Rank: 12
来 自:CC
等 级:贵宾
威 望:49
帖 子:1636
专家分:3940
注 册:2007-12-27
得分:0 
除了这个以外,系统里面还有数以千计的“神秘”数据结构,都没法从引用代码看出意义的。
其意义有待于后期通过深入学习操作系统来得到。
你开车的时候也看不出发动机和变速箱结构的,问题不大吧?

对宇宙最严谨的描述应该就是宇宙其实是不严谨的
2015-03-02 09:43
zwdbxlt
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2015-1-1
得分:0 
回复 4楼 forever74
原来如此,非常感谢,接下来正准备去看看windows程序设计,希望学完之后能看懂。
2015-03-02 11:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-442291-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020004 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved