for(i=2;i<MSD+2;i++) { cur_mkdir->directItem[i].sign=0; cur_mkdir->directItem[i].firstDisk=-1; strcpy(cur_mkdir->directItem[i].name,""); cur_mkdir->directItem[i].next=-1; cur_mkdir->directItem[i].type=0; cur_mkdir->directItem[i].size=0; }
时间: 2024-04-23 10:25:41 浏览: 19
这段代码是在对目录项进行循环赋值操作。具体来说,该目录项有 MSD 个空间,其中前两个空间已经被分别用于存储 `.` 和 `..` 两个目录项,而剩余的空间需要进行初始化。下面是代码的解释:
- `for(i=2;i<MSD+2;i++)`:循环遍历该目录项中除了前两个空间以外的所有空间,即从下标 2 到下标 MSD+1。
- `cur_mkdir->directItem[i].sign=0;`:将该目录项中第 `i` 个空间的标志位 `sign` 设为 0,表示该空间当前没有被使用。
- `cur_mkdir->directItem[i].firstDisk=-1;`:将该目录项中第 `i` 个空间的 `firstDisk` 字段设为 -1,表示该空间对应的文件(或子目录)在磁盘上不存在。
- `strcpy(cur_mkdir->directItem[i].name,"");`:将该目录项中第 `i` 个空间的 `name` 字段设为空字符串,表示该空间对应的文件(或子目录)没有名称。
- `cur_mkdir->directItem[i].next=-1;`:将该目录项中第 `i` 个空间的 `next` 字段设为 -1,表示该空间对应的文件(或子目录)没有下一个磁盘块。
- `cur_mkdir->directItem[i].type=0;`:将该目录项中第 `i` 个空间的 `type` 字段设为 0,表示该空间对应的文件(或子目录)不存在。
- `cur_mkdir->directItem[i].size=0;`:将该目录项中第 `i` 个空间的 `size` 字段设为 0,表示该空间对应的文件(或子目录)大小为 0。
需要注意的是,循环的起始下标是 2 而不是 0,因为前两个空间已经被使用。另外,循环的终止下标是 MSD+2 而不是 MSD+1,因为需要将第 MSD+1 个空间也进行初始化。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)