障害発見を見つけるC言語コード[バージョン]、あなたは問題を見つけることができますか?

       コードのこの部分下に誰かの書き込みを見るために皆さん、今日は、私たちは、問題の表情を見てみましょう:

       C言語の強固な基盤場合は、このトピック、我々は実際には、同様の問題を言っているように見えるプッシュの前に覚えておいてください、そして、1は問題が表示されます。ABC定常領域の時にメモリに保存され、文字列定数のABCへのポインタpポイントを、読み取り専用、および意図の読み取り専用セクションの内容を変更するためのコードの3行目、したがってそれが明確なエラーです。

       Cプログラム記憶の問題に言及したように、それは私たちがあなたに今日の知識の主なポイントを伝えたい理由である、いくつかの単語を繰り返したいでしょう:

コンパイル済みのCプログラムメモリは、次のセクションに分かれて占有しました:

      図1に示すように、スタック領域(スタック) -また、コンパイラによって割り当てられた自動式記憶領域として知られているが、自動的に記憶された関数パラメータ、ローカル変数、等を放出する、例えば、自動的に、関数呼び出しの終了後に放出されます。

      2は、ヒープ(ヒープ)領域 -にもプログラマーによって割り当てられた動的に割り当てられたメモリ領域として知られているが、番組の終わりまで分布から解放される解放されない場合、プログラムは、malloc関数として、リカバリOSの端部によって提供されているメモリ、空きメモリの解放を割り当てます。

      図3に示すように、グローバルゾーン(休止ゾーン)(静的) -グローバル変数と静的変数が一つに格納され、領域内のグローバルおよび静的変数を初期化され、初期化されていないグローバル変数と静的変数は、隣接する未初期化システムによって放出される番組の終了後の領域の別の部分、。

      4、リテラル地域  -ここに文字列定数は、プログラムシステムの終了によって解放されます。

      5、プログラムコード領域  -ここに置かプログラムコンパイルされたコード。

       私たちは、読むためにあなたの忍耐に感謝を助けたい、ピットのないステップを行います!

       プログラミングを愛する人のために、小さなパートナーのグループが学ぶために一緒に存在していることは非常に重要です!あなたが興味や必要としているならば、我々はゼロベースのプログラミング入門持つ交流クラブを学ぶだけでなく、ビデオファイルを学習し、少しの友人で歓迎初心者から上級です!

公開された520元の記事 ウォンの賞賛132 ・は 80000 +を見て

おすすめ

転載: blog.csdn.net/HUYA69/article/details/105139567