私はchar *配列を使用して、複数のマッピングスレッドから還元スレッドに情報を移動するバッファを作成しています。配列を円形にする必要がありますが、配列が部屋を使い果たすとセグメント化エラーが発生します。アレイを円形にするにはどうしたらいいですか?私は現在、すべてのヘルプが理解される1024であるマクロで循環型文字配列バッファ -
for(j = 0; j < i; j++){
int next = mr->nextIndex + j;
if(next > 1023){
next = 0;
}
mr->buffer[next] = temp[j];
}
アレイは次のように設定され、
new_mr->buffer = malloc(sizeof(char *) * MR_BUFFER_SIZE);
を有します。
tempが
char *temp = malloc(sizeof(char *));
であり、それは
memcpy(temp, kv, i);
から値を取得し、KVは主から関数に渡されます。
情報が不十分です。一時は何ですか?私は何ですか? – Pemdas
tempはchar *のcharポインタサイズで、iはバッファにコピーされるデータのサイズ(バイト単位)です。 –
tempは何ですか?コードを表示します。 – Pemdas