假設我聲明數組如下:用戶在數組中插入了多少個元素?
int myArr = [someSize];
現在我把n個元素(其中n是不完全清楚,但ñ< someSize)在像這樣
myArray[0] = 12;
myArray[1] = 23;
and so on .....
現在我想要知道有什麼方法可以確切地找出用戶輸入了多少元素。
假設我聲明數組如下:用戶在數組中插入了多少個元素?
int myArr = [someSize];
現在我把n個元素(其中n是不完全清楚,但ñ< someSize)在像這樣
myArray[0] = 12;
myArray[1] = 23;
and so on .....
現在我想要知道有什麼方法可以確切地找出用戶輸入了多少元素。
如果您知道有一些值不能放入數組中(即事先被檢查和禁止),那麼你可以初始化數組中的每個元素,然後進行計數。例如如果陣列初始化爲-1
:
int count = 0;
for (i = 0; i < someSize; i++) {
if (myArr[i] != -1) count++;
}
不,如果這就是你所有你無法弄清楚。 C不會在內部存儲寫入數組元素的數量。
您無法從陣列中獲取任何此類信息。如果你需要它,你會想記錄它。當已經需要我這個,我平時用的東西,如:
struct myArray_t {
size_t next_element;
int arr[somesize];
};
當您創建此,您將next_element
爲0,並添加元素,你使用類似myArr.arr[myArr.next_element++] = whatever;