0

の動的に割り当てられた配列がint size必要な場合は、C でそれを取得する方法が 2 つあります。

int* array = new int [size]; //method 1
int* array2 = malloc (sizeof(int) * size); //method 2

それぞれの方法をいつ使用する必要がありますか?

4

3 に答える 3

3

あなたがCにいるなら、2番目のもの。

C++ を使用しstd::vector<int>ている場合は、可能であれば使用してください。それ以外の場合は、最初のものを使用します (めったに必要ありません)。

于 2013-11-03T00:18:07.420 に答える
0

別のオプション (特にメモリをゼロにする必要がある場合):

int *array3 = calloc(size, sizeof array3[0]);

size * sizeof array[0]これにより、オーバーフロー (手動でチェックインする必要があります) から保護されます。

于 2013-11-03T01:48:39.110 に答える