您無法調整C中的數組大小。一旦創建了它的大小,它的大小就是固定的。 如果您可以使用動態內存和指針而不是陣列,則可以使用realloc
來調整它的大小。
但是看着你的目的,你實際上並不需要調整的數組,你可以減少size_of_array
而忽略其餘的值,例如:
size_of_array -= 4;
編輯: 爲了澄清我的意思通過忽略價值。我假設通過創建一個數組,你打算實際上有一些工作與它的元素,否則有陣列將是毫無意義的。因此,當你在數組上進行工作時,只需要在你不會忽略的元素上進行操作。讓我們爲求舉例說,我們要打印的數組的值作爲我們的「工作」:
void printArray(int *array, size_t size) {
for (size_t itr = 0; itr < size; ++itr) { printf("%d", array[itr])); }
}
int main(int argc, char *argv[]) {
int values[] = {1,2,3,4,5,6,7};
int size_of_array = 7;
int specified_index = 3;
// Print the whole array
printArray(values, size_of_array);
// Print the 'shortened' array by ignoring the rest of the values
size_of_array -= 4;
printArray(values, size_of_array);
}
「道歉」,不後悔但不要問新之前執行的答案基本搜索題。 – kaylum
如果您跟蹤數組中的元素,請使用size_of_array ....只需完成「size_of_array = 3」! –