2

Head First Cでは、コンピューターは配列の変数名にメモリを割り当てないと述べています。私は混乱しました!これは本当ですか?

しかし、メモリがある場合、この配列に別の配列を割り当てることができないのはなぜですか?

4

2 に答える 2

4

コンピュータ プログラムは、実行したい機能を記述した抽象化です。コンパイラが記述を受け取り、コンピュータが実行できるようにマシン コードに変換します。

比喩:

「2 ブロック歩いて、左折して 1 ブロック歩いて」と言います。その後、お店に行くことができます。「左側に青い建物が見えるまで歩いて、270 度曲がって店が見えるまで歩いてください」とも言えます。どちらの場合も同じことを行いますが、命令 (この比喩ではプログラム) はまったく異なり、文字数や動詞の数が異なります。

C のコンピュータ プログラムも同じです -- 変数の名前は関係ありません -- コンピュータが実際に実行するコードは、変数 "a" を呼び出すか、変数 " aVeryLongVariableName". コンパイラは名前を追跡しますが、最終的な出力は同じになります。

于 2012-08-12T03:45:01.623 に答える
0

配列に名前を付けるために使用している識別子は、その配列のベースアドレス(最初の要素のアドレス)を実際に保持するポインターです。

したがって、このアドレスを別のポインターに割り当てることができますが、別の配列のベースアドレスに割り当てることは合法ではありません

于 2012-10-30T16:41:01.547 に答える