對於我們最後一個學期的項目,操作系統類中的每個人都負責實現一個僞「linux文件系統」。這個想法是模擬處理文件,文件夾,更改目錄等等。C中的結構,指針和樹木
我不喜歡在C語言編程時不得不使用字符串和指針,但不幸的是,爲了我的和平,這個項目看起來涉及到兩者。因爲我對指針相當不舒服,所以我希望能夠通過一個理智的檢查來確定底層樹結構的後端實現是否正確。
typedef struct floorNode
{
char floorName[30]; //the name of the tree node
struct floorNode *parentPointer; //this is a pointer to the parent node. Null for the root node.
struct floorNode *childPointers[10]; //this is an array holding pointers to up to 10 child nodes.
char fileArray[10][30]; //this is an array of 10 'files', each of up to length 30.
//for this assignment, strings are the only type of "file"
} floorNode;
這是實現在C樹的正確方法?
如果你不喜歡使用指針,那麼你不會在C中做任何事情。順便說一句,大多數語言都有指針,他們只是試圖通過調用引用來隱藏它,但大部分相同的問題都適用。 – 2011-04-29 05:12:39
@mu太短 - 我喜歡參考更好,儘管這可能只是我對他們談話的更多經驗。 – 2011-04-29 05:22:02
所有你想要的只是一個文件系統,它的一個限制是一個目錄中必須少於10個文件和子目錄。我認爲存儲節點的絕對名稱是沒有意義的。我希望你能弄清楚爲什麼 – 2011-04-29 05:22:13