プログラムを実行し、メモリリークが発生していないか、解放せずに割り当てたメモリがあるかどうかを確認するために使用できるコマンドラインツールです。メモリリークにより、最終的にコンピュータのメモリが不足する可能性があります。文字列を作成しますが、メモリに必要な量よりも少ない割り当てを行います。s);}割り当てたメモリも解放しません。実行して、これらのメッセージの一部を説明します。ような断片があり、近くに行番号があります。割り当てた内容の一部ではありません。すべての部分を読むことになります。プログラムの終了時に解放されません。適切なバイト数を割り当て、最後にメモリを解放することができます。警告メッセージを表示しません。以下を見てみましょう。2つのポインタを宣言しますが、それらに値を割り当てません。持つ整数に十分なメモリを割り当て、それをxに格納します。指すアドレスに行き、メモリ内のその位置の値を42に設定します。指すアドレスに値13を配置しようとしています。値を代入したことがないので、これまでコンピュータで実行されていたプログラムからのゴミの値やメモリ内の未知の値があります。(segfault)が発生する可能性があります。Binkyという動画で、上のコードのコンセプトを紹介しています。配列を宣言し、その値を設定しないことで、不要な値を出力することができます。}}このプログラムをコンパイルして実行すると、さまざまな値が表示されます。スワップ2つの整数の値を入れ替えてみましょう。一時的に保持するために3番目のグラスが必要になります。青い液体を最初のグラスに注ぎ、最後に赤い液体を一時的なグラスから2番目のグラスに注ぎます。関数には、一時記憶領域として使用する第3の変数があります。元の値に変更することができます。この関数をプログラムで使用しようとしても、何も変更はありません。メモリレイアウトコンピュータのメモリ内では、プログラム用に格納する必要があるさまざまなタイプのデータが、さまざまなセクションに編成されています。機械語セクションは、コンパイルされたプログラムのバイナリコードです。下、メモリの次の部分には、プログラムで宣言したグローバル変数が配置されます。プログラムで使用するための空きメモリを取得できる空の領域です。呼び出すと、トップダウンでメモリの割り当てを開始します。スタックセクションは、呼び出されたプログラム内の関数によって使用され、上に向かって成長します。