在d_name的长度为1中可以动态的分配空间,使d_name不局限于固定的大小。
长度为255的情况应该是目前内存资源没有那么紧张了,不在意浪费那么点空间,并且使用方便。
而为什么不使用char *,是因为malloc分配的是连续的存储空间,char *在malloc分配空间后还是必须指向其他地方的地址。并不是说char *指向的地址是它在结构中的偏移位置
在struct dirent中,为什么d_name[]的长度在有的系统上是1在有的系统上是255,为什么不定义为char *
最新推荐文章于 2024-05-09 10:14:45 发布