解決策:例外がスローされました:読み取りアクセス許可の競合。 Lは0xCDCDCDCDです。
Resolution An Exception Was Thrown
データ構造がリンクリストを書き込むと、次の問題が発生します。
本質は次のとおりです。メモリアクセスの問題
パフォーマンスは次のとおりです。
- 範囲外の配列
- 割り当てられたスペースの前処理はありません(私もこの問題に遭遇しました)
- ヌルポインター、範囲外のポインター
解決
上記との1対1の対応:
- 範囲外かどうかを確認します
- 要求されたスペースにデフォルト値が指定されていますか?
- ポインタが範囲外かどうか
これは私にとって問題です。これは、リストに次のノードのwhileループがあるかどうかを判断するためです。ないかどうかを判断するには
当初、構造空間に適用すると、その要素は自動的にNoneに割り当てられると考えられていたため、使用する場合は処理されません。
- ここでの判断は空ではありません。つまり、住所があります。
- これが最後のノードの判断です。最後のノードの次のノードを使用しない前は空だったと思いました。
- しかし、結果はそうではありません
- つまり、この変数が使用されない前に、そのアドレスは空に初期化されませんが、値があります。
- もちろん、メモリアクセスエラーが発生します
- 解決策は、最後の次へに手動でNoneを割り当てることです。
完了:
最近、C言語のデータ構造に取り組んでいます。この記事のコードについては、「データ構造」列を参照してください。