ドキュメントの各行の各インデックスを反復処理し、対応する配列 ar の各文字インデックスに整数値を設定する必要がある C プログラミング割り当てを試みています。
//Jagged array ar containing pointers to each row
int* ar[line_count];
//The size of each row is the line width * the size of an int ptr
const int line_size = max_width * sizeof(int*);
//For each line
for (i = 0; i < line_count; i++)
{
//If the first runthrough, copy the blank array
if (i == 0)
{
ar[i] = malloc(line_size);
memcpy(ar[i], blank_ar, line_size);
}
//Otherwise, copy from the last row
else
{
ar[i] = malloc(line_size);
//This is set to a null pointer after several runthroughs
memcpy(ar[i], ar[i - 1], line_size);
}
//Edit the current row ar[i]
}
唯一の問題は、9 回の繰り返しの後、malloc が null ポインターを返し始め、memcpy が (明らかに) 機能しなくなることです。
これが起こっている理由はありますか?これらの小さな配列を9回しか割り当てないため、メモリが不足することはありません。