-4
のリストを表示するアレイは、私はプログラミングのクラスから、このコードを持っている:C++問題のある機能、
void ToList(List *first, int *arr, int n) {
List *p = first;
for(int i=0; i<n; i++) {
p->x = arr[i];
if (p->next != NULL) p = p->next;
}
}
私はリストに配列要素を転送するためにそれを呼び出す:
int main() {
const int N = 10;
int m[N] = {5, 8, 1, 7, 2, 6, 9, 4, 0, 3};
List *first = NULL;
ToList(first, m, N);
PrintList(first);
私は "ですSegmentation fault " - プログラムは終了コード139で終了しました。何が間違っていて、どのように修正できますか? main
で
:ToList
で
List *first = NULL;
:
ようこそスタックオーバーフロー。 [The Tour](http://stackoverflow.com/tour)を読み、[ヘルプセンター](http://stackoverflow.com/help/asking)の資料を参考にしてください。ここに聞いてください。 –
あなたのリスト( 'first')は' NULL'です。あなたは決してそのためのメモリを割り当てません。 – Alexander
このような問題を解決する適切なツールはデバッガです。スタックオーバーフローを尋ねる前に、コードを一行ずつ進める必要があります。詳しいヘルプは、[小さなプログラムをデバッグする方法(Eric Lippert)](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)を参照してください。少なくとも、問題を再現する[最小、完全、および検証可能](http://stackoverflow.com/help/mcve)の例と、デバッガでの観察結果を含めるように質問を編集する必要があります。 –