の動的に割り当てられた配列がint size
必要な場合は、C でそれを取得する方法が 2 つあります。
int* array = new int [size]; //method 1
int* array2 = malloc (sizeof(int) * size); //method 2
それぞれの方法をいつ使用する必要がありますか?
の動的に割り当てられた配列がint size
必要な場合は、C でそれを取得する方法が 2 つあります。
int* array = new int [size]; //method 1
int* array2 = malloc (sizeof(int) * size); //method 2
それぞれの方法をいつ使用する必要がありますか?
あなたがCにいるなら、2番目のもの。
C++ を使用しstd::vector<int>
ている場合は、可能であれば使用してください。それ以外の場合は、最初のものを使用します (めったに必要ありません)。
別のオプション (特にメモリをゼロにする必要がある場合):
int *array3 = calloc(size, sizeof array3[0]);
size * sizeof array[0]
これにより、オーバーフロー (手動でチェックインする必要があります) から保護されます。