关于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 编辑 ]