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' done! –