解決策:例外がスローされました:読み取りアクセス許可の競合。 Lは0xCDCDCDCDです。



Resolution An Exception Was Thrown



データ構造がリンクリストを書き込むと、次の問題が発生します。
画像

本質は次のとおりです。メモリアクセスの問題

パフォーマンスは次のとおりです。

  • 範囲外の配列
  • 割り当てられたスペースの前処理はありません(私もこの問題に遭遇しました)
  • ヌルポインター、範囲外のポインター

解決

上記との1対1の対応:



  • 範囲外かどうかを確認します
  • 要求されたスペースにデフォルト値が指定されていますか?
  • ポインタが範囲外かどうか

これは私にとって問題です。これは、リストに次のノードのwhileループがあるかどうかを判断するためです。ないかどうかを判断するには
画像
当初、構造空間に適用すると、その要素は自動的にNoneに割り当てられると考えられていたため、使用する場合は処理されません。
画像

  • ここでの判断は空ではありません。つまり、住所があります。
  • これが最後のノードの判断です。最後のノードの次のノードを使用しない前は空だったと思いました。
  • しかし、結果はそうではありません
  • つまり、この変数が使用されない前に、そのアドレスは空に初期化されませんが、値があります。
  • もちろん、メモリアクセスエラーが発生します
  • 解決策は、最後の次へに手動でNoneを割り当てることです。
    画像
    完了:
    画像
    最近、C言語のデータ構造に取り組んでいます。この記事のコードについては、「データ構造」列を参照してください。