ここでの動的メモリの議論について:「Cポインタと動的メモリの紹介」
著者は次のように述べています。
このようなメモリ ブロックは、より柔軟な配列として効果的に使用できます。このアプローチは、実際には実際の C プログラムではより一般的です。また、「可変サイズ配列」よりも予測可能で柔軟です。
彼が話しているメモリブロックのタイプは次のとおりです。
const int size = 5;
int * array = calloc(size, sizeof(int));
次に、別のポインターを使用して配列を反復処理します。
int * index = array;
for (i = 0; i < size; i++) {
*index = 1; // or whatever value
index++;
}
私の質問は、この方法が、このような標準の可変サイズの配列よりも優れている点です:
int array[variable];
または動的:
char name[] = "Nick";
著者は、私が後者よりも前者の方法を好む理由についてあまり明らかにしていません。またはより具体的には、どのように「予測可能で柔軟」になりますか?