我並不是C的粉絲,但是我爲此練習做了功課。到目前爲止,我得到的是,在C中,據我所知,初始化一個數組並不像JavaScript。 C有固定的數組,並沒有用特定的值初始化。因此NULL
檢查在這種情況下不起作用。我有一個結構數組。如何知道數組中的索引是否爲空(用一個結構體填充)?檢查結構數組中的索引是否爲空或不在C
#define LIST_LENGTH 30
//This is the struct that is inserted in the array
typedef struct node{
char fName[30];
char mName[30];
char lName[30];
char id[8];
} NODE;
typedef struct {
int size; //size is the struct's total capacity (at 30)
int length; //tracks how many elements are added, but not where
NODE nodes[LIST_LENGTH]; //This is the array in question
} List;
//somewhere in my code, I have to insert a value to the array at a specific position.
//if that position is occupied, I have to find the nearest empty position
//to the right, and shift the values rightward for that spot to be empty
此外,我們限制使用數組進行此練習。如果我們被授予使用鏈表,這將是在公園散步,因爲我們已經知道如何使用動態列表。
我該怎麼辦?或者我以錯誤的角度看問題(除了必須使用數組而不是鏈接列表)?
如何將所有索引'> = length'視爲空?或者是帶有「孔」的陣列? – chill
至於你的代碼,你的「數組索引」始終是非空的... – sleepsort
你可以做的一件事是有一個指向NODE的指針數組,並將它初始化爲零(例如用memset)。如果一個位置有一個空指針,這意味着它是空的。 –