解決済み

メモリの中身は大切?

  • 困ってます
  • 質問No.973140
  • 閲覧数39
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 0% (0/5)

初歩の質問で申し訳ないです。
プログラミングするときには、
「メモリ内部に変数等がどのように格納されているかイメージできることが大切。(たとえばC言語において配列と、ポインタ配列のメモリの割り当て方が違うなど)」
とかいうのをたまに聞きますが、これってなんで大切なんですかね???
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1

ベストアンサー率 46% (545/1183)

変数のメモリ上の配置に重要な意味があるか否かは言語によります。C/C++では大切(知らないとコードが書けないこともある)ですが、Javaなどではそれほどでもありません。
OKWAVE 20th Be MORE ありがとうをカタチに

その他の回答 (全1件)

  • 回答No.2

ベストアンサー率 59% (438/739)

 プログラミングするときに、一番、たくさんの行を費やすのは、変数の操作と変数の内容のチェックです。
 というか、プログラミングって言うのは、ようするに、変数をいかに操作するかを定義する作業・・・と言い換えても、あながちはずれではありません。
 というわけで、各変数に、今、何が入っていて、それをどうしようとしているのかが判らなければ、そもそもプログラミング作業できません。
 ところで、変数の操作というのは、ようするに、メモリー内部の数値の操作です。つまり、メモリー内部の様子が頭に浮かばないと言うことは、何を、どのように操作しようとしているかが全く頭に浮かんでいないと言うことで・・・こんな状態では、まぁ、まともにプログラミングできるとは思えません。

 というわけで、大概のプログラミングの書籍で、文法の学習にはいると、変数の定義、変数の内容の表現から話が始まるのが普通です。
 つまり、基礎の基礎なわけですね。大切どころの話ではないのでした。

 たとえば、C言語の学習をしてるときにの最大の難関といわれるポインターの取り扱いにおいて、何が判ってないかというと、具体的なメモリー内部のイメージです。これが判らないから、ポインターが理解できない。(もう少し、先になると、関数のポインターと言うのが登場します。メモリーイメージがきっちり頭に浮かばないと、概念すら理解できない分野です。これが理解できないのは、まず、プログラムの本体も、メモリーに展開された単なるデータと同じだということが判っていないことが多いです。)

 大概の言語に備わっている配列が理解できないのも、根は同じです。
 判らない人を見ていると、メモリーに対してどういう操作をしようとしているかが浮かんでないことが多いです。だから、添え字の操作を見ると訳がわからなくなる。

 最初のうちは、紙に、メモリーイメージを書いて、具体的な数字をそこに入れて、計算する・・・・そういう学習は、プログラムを理解するのに有効なことも多いです。(私も、ちょっと複雑な操作になると、重要な部分のメモリーイメージを模式的に紙に起こします。微妙な操作を検証するのには一番手っ取り早いことが多いです。)
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


より良い社会へ。感謝経済プロジェクト始動

ピックアップ

ページ先頭へ