C言語:エッセイ3

配列:同じタイプのデータで構成されるシーケンスであり、順序付けられたコレクションです。(メモリ内の分布は下位アドレスから上位アドレスへと1つずつ格納されるため、内部のコンテンツが順序付けられるのではなく、順序付けられたセットになります)

1. 1次元配列の定義:

类型说明符 数组名[常量表达式]

PS:メモリ内の1次元配列のストレージ。(オペレーティングシステムを含むすべてのプログラムは、実行時にハードディスクで実行するのではなく、メモリにロードする必要があります。ハードディスクで実行することはできません。CPUはメモリからデータを調整し、メモリはハードディスクからデータをフェッチします。これは動的なプロセスであるため、CPUで何かを実行し、メモリで実行する必要があります。プログラムは実行されるとすぐにメモリに読み込まれます。たとえば、パスワードを盗む場合は、彼のコンパイルのプロセス全体がメモリ内で実行されているため、メモリから開始する必要があります)

低いアドレス 86 マーク[0]
  92 マーク[1]
  77 マーク[2]
  52 マーク[3]
  ..。 ..。
高いアドレス 94 マーク[99]

配列名は、実際には配列の最初の要素の最初のアドレスです。

2.2次元配列定義の一般的な形式は次のとおりです。

类型说明符 数组名 [常量表达式] [常量表达式]

2次元配列は、概念的には2次元ですが、実際のハードウェアメモリは継続的にアドレス指定されます。つまり、メモリセルは1次元の線形単位で配置されます。2次元配列を1次元メモリに格納する方法は2つあります。1つは、配列を行に配置する方法、つまり、1つの行を2番目の行に順番に配置する方法です。もう1つは、列に配置することです。つまり、1つの列を2番目の列に順番に配置します。C言語では、2次元配列が行に配置されます。

配列は、コンパイル時に占有するスペース(つまり、定数式)を説明する必要があります。割り当ては実行時に割り当てられます。

マクロ定義を使用して、文が実行されないようにコメントアウトします。

#if(0)
    语句1;//语句1永远不会被编译,因为if后边是0,为假跳过。
#endif

3.プログラムをコンパイルして実行すると、通常の変数はスタック領域であるスタック領域に格納されます。静的な場合、通常の変数はデータ領域であるデータ領域に格納されます。定数や文字列などのデータ領域は通常変更できません。通常、データ領域にあります。

PS:あなたがどんな言語であっても、それは一般的に記憶の中でこのようです。私たちの記憶全体は主に4つの領域に分けられます:

1):CODE(コードエリア)

2):DATA(データ領域)(staticで定義された定数、文字列、変数を格納します)(この関数の終了によりデータ領域の特性が消えることはありません)(DATA領域はプログラム全体が他の領域を終了するときですリリースされます)

3):STACK(スタック領域)(プログラムを実行するために、彼はこの関数によって呼び出されたデータまたは変数をスタックにプッシュして実行し、関数が呼び出されるまで待機します。このスタックは解放されます。そうでない場合、メモリは十分ではありません)

4):HEAPエリア(STACKエリアがプログラム自体によって解放および生成されるように、HEAPエリアは異なりますが、HEAPエリアの割り当てサイズはプログラマーによって指定され、もちろん、その範囲を超えることはできません。 、)

これらの4つのパーティションを理解する。

おすすめ

転載: blog.csdn.net/m0_37957160/article/details/108141325