- ベストアンサー
変数とは?
変数の正体 アドレスに対して、人間がわかりやすいように名前を付けておく──それが変数の正体です。 変数とは「値の格納先(アドレス)に対して付けられた名札」といえます。 つまり yahooサイトで例えるとyahoo.co.jpが変数であり変数名であるということですかね?
- みんなの回答 (10)
- 専門家の回答
質問者が選んだベストアンサー
>メモリのアドレスが箱というのはいまいちしっくりこないです そう言われると、そうですね、良く考えずにコピペしてしまいました。 値の格納先が「箱」。 >そこまで追求する必要が技術的にないのですね。 高級言語では そこまで細かく考える必要はありません。 ただし低級言語(アッセンブラ、C言語系(C、C++など))では「ポインター、値の格納先」を厳密に考える必要があります。
その他の回答 (9)
- amanojaku1
- ベストアンサー率54% (265/488)
もしプログラミングに興味があるならJavaScriptならEditorさえあればプログラミング可能ですよ。 下記は当方が(Editorだけで)プログラミングしたJavaScriptのデモです(ブラウザは「IE、Firefox」を使用しています)。 CheckQuestion031 http://ashtarte.hotcom-web.com/utf8/smt.cgi?r+sara/&bid+00000020&tsn+00000039.
- amanojaku1
- ベストアンサー率54% (265/488)
>変数名が「名札」。 >変数が「名札が付いた箱」(つまり「名札+箱」)。 >値の格納先のメモリー領域が「箱」。 なんか妙なことに こだわってな~と思っていましたが、論点自体がズレているんです。 実際のプログラミングにおいて「ポインター」、「値の格納先のメモリー領域」が重要なんです。 ほとんどポインターを意識しなくて良いjavaのような高級言語でも、関数で(帰り値ではなく)引数で その関数の処理結果をプリミティブ型(byte、short、int、long、char、float、double、boolean)を返したくても返せないので、プリミティブ型をオブジェクト化(ポインター変数、厳密には「参照型・変数」か?)する必要があります(javaの場合、このような時にポインターを意識します)。
- amanojaku1
- ベストアンサー率54% (265/488)
>>さすがにインターネット上とは思っていません >「Perl、PHP」のサーバー・サイド言語なら、サーバー側のデータを読み書きできます。 >掲示板などもサーバー側のデータを読み書きしている例です。 >ちなみにCookieはWebベージから自分のPCにデータを読み書きできます(下記参照)。 >Cookie 【 HTTP Cookie 】 クッキー >http://e-words.jp/w/Cookie.html 例えば下記の「SMT Version 8.012(+A) Release LX」掲示板は当方がPerlで作った掲示板です。 記事(サーバー側のデータ)を「書き込み、観覧(読み出し)、削除」が可能です、HandleNameなどをCookieに保存できます。 "沙羅" http://ashtarte.hotcom-web.com/utf8/smt.cgi?r+sara/
- amanojaku1
- ベストアンサー率54% (265/488)
>>メモリのアドレスが箱というのはいまいちしっくりこないです >そう言われると、そうですね、良く考えずにコピペしてしまいました。 >値の格納先が「箱」 もう少し厳密に言うと、値の格納先のメモリー領域が「箱」 >さすがにインターネット上とは思っていません 「Perl、PHP」のサーバー・サイド言語なら、サーバー側のデータを読み書きできます。 掲示板などもサーバー側のデータを読み書きしている例です。 ちなみにCookieはWebベージから自分のPCにデータを読み書きできます(下記参照)。 Cookie 【 HTTP Cookie 】 クッキー http://e-words.jp/w/Cookie.html
- superside0
- ベストアンサー率64% (461/711)
アドレス=URL と 誤認して 混乱しているようです。 ここでいうアドレスとは メモリー上の場所の事で インターネット上の場所のことではありません。
お礼
>変数とは「値の格納先(アドレス)に対して付けられた名札」といえます。 と記載があったので、箱は比喩と考えたのですが、実態まで考えなくても良いということですね。 メモリのアドレスが箱というのはいまいちしっくりこないですが、 そこまで追求する必要が技術的にないのですね。 さすがにインターネット上とは思っていません
- amanojaku1
- ベストアンサー率54% (265/488)
>変数とは「値の格納先(アドレス)に対して付けられた名札」といえます。 > >と記載があるのですが、教科書は名札自体が変数といっている様に思えるのですが、 >アドレスの入った箱側が変数でその箱についた名札が変数名ということなんですか? それはチョット違いますね。 変数名が「名札」。 変数が「名札が付いた箱」(つまり「名札+箱」)。 値の格納先(アドレス)が「箱」。 と言う感じでしょうか、普通 そこまで細かく考えないでも良いと思います。
お礼
>変数とは「値の格納先(アドレス)に対して付けられた名札」といえます。 と記載があったので、箱は比喩と考えたのですが、実態まで考えなくても良いということですね。 メモリのアドレスが箱というのはいまいちしっくりこないですが、 そこまで追求する必要が技術的にないのですね。
- amanojaku1
- ベストアンサー率54% (265/488)
>名札自体を変数というのでしょうか? 名札自体は変数名、名札の付いた箱が変数と言う感じでしょう。 >パケットで例えるとヘッダ自体と同じでしょうか? パケットのヘッダは どのサーバーを通ったかと言うログも含まれているので名札とは違うような気がします。 >ヘッダ、名札、変数に名前を付けてやろうと名前を付けると、 >それが変数名になるという方が正しいでしょうか? ああ、「yahoo.co.jp」が変数名で、ページ自体のデータが変数と言う認識でしたか。 変数の利用価値は"演算"です、"演算"できないモノは変数と考えなくて良いと思います。 例えば、「yahoo.co.jp」のページの中に変数hogeが有って、変数hogeの値によってページの表示を変えるとか、そう言う使い方です。
お礼
変数とは「値の格納先(アドレス)に対して付けられた名札」といえます。 と記載があるのですが、教科書は名札自体が変数といっている様に思えるのですが、 アドレスの入った箱側が変数でその箱についた名札が変数名ということなんですか?
- amanojaku1
- ベストアンサー率54% (265/488)
>yahooサイトで例えるとyahoo.co.jpが変数であり変数名であるということですかね? _backyarDさんの仰るとおり「ニックネーム」ですね、サイトのアドレスの実態は「IPアドレス」です。 例えば「yahoo.co.jp」の実態は「182.22.71.250」です、試しにブラウザのアドレス・バーに「182.22.71.250」を入力し[Enter]キーを押すと「Yahoo! JAPAN」が表示されます。 でも「182.22.71.250」だと人間にとっては意味不明な数字の羅列でしかありませんが、「yahoo.co.jp」と言う「ニックネーム」を付ける事で「Yahoo! JAPAN」のサイトだと類推できます。 ただし人間の認識能力は いい加減なので、類似のアドレスの詐欺サイトが作られると、沢山の人が引っかかってしまうと言うデメリットもありますが…。 >アドレスに対して、人間がわかりやすいように名前を付けておく──それが変数の正体です。 >変数とは「値の格納先(アドレス)に対して付けられた名札」といえます。 それで基本的に正しいですが、JavaScriptの場合は「可変の型」の変数です。 ザックリと説明するとプログラミング言語の変数には「固定の型」と「可変の型」があります。 JavaScriptには基本型として「数値、文字列、論理型」があります(「null、undefind」も特殊な基本型?)、その他には「オブジェクト型」(配列や関数)があります(Javaでは関数は「オブジェクト」ではないので、関数まで「オブジェクト型」なのはチョット特殊な気がします)。 JavaScriptの場合は「可変の型」の変数ですので、例えば「hoge」と言う変数に どんな型でも代入できます(Javaの変数は「固定の型」なので、定義された型しか代入できません)。 ちょっと良い例が思いつかないのですが、ゴミ箱を例にすると、型として「燃せるゴミ型、プラスチック・ゴミ型、リサイクル・ゴミ型」があるとして、とあるマンションにAさんは「固定の型」ゴミ箱だとすると、ゴミ箱は「燃せるゴミ型、プラスチック・ゴミ型、リサイクル・ゴミ型」と いつも固定で決まったモノしか捨てられません。 対して別のマンションにBさんは「可変の型」ゴミ箱だとすると、自分で自由に「燃せるゴミ型、プラスチック・ゴミ型、リサイクル・ゴミ型」の内の どれかを決定する事ができます。 下記にはjavascriptの変数について詳しく説明されています。 javascriptでの変数と型、値 http://qiita.com/lrf141/items/ff1fa4741e4cd612b128
お礼
変数とは「値の格納先(アドレス)に対して付けられた名札」といえます。 つまり変数とは値の入った箱というのは厳密には間違っていて。 参照先のアドレス情報に名前を付けたものということなのですね。 その名前が変数名ということでしょうが、 すると変数は名前を付けたデータ自信を指すのですかね、 ややっこしい。 例えば yahoo.co.jpというアドレスの変数があって、yahoo.co.jp先に変数の中に入る値があった場合、 この変数に始めは名前がついていないので、 yahooの情報先の箱という名前を付けよう(変数名) ということですかね。
補足
変数とは「値の格納先(アドレス)に対して付けられた名札」といえます。 つまり変数とは値の入った箱というのは厳密には間違っていて。 参照先のアドレス情報に名前を付けたものということなのですね。 その名前が変数名ということでしょうが、 すると変数は名前を付けたデータ自信を指すのですかね、 ややっこしい。 例えば yahoo.co.jpというアドレスの変数があって、yahoo.co.jp先に変数の中に入る値があった場合、 この変数に始めは名前がついていないので、 yahooの情報先の箱という名前を付けよう(変数名) ということですかね。 >>> すると変数は名前を付けたデータ自信を指すのですかね、 もしかして上記は間違っていて、 yahoo.co.jpというアドレスの情報に名札を付ける作業が必須で、 裏側でプログラムが自動的にyahoo.co.jpというアドレスの情報に名札をつけ、その名札だけ、名札自体を変数というのでしょうか? つまりパケットで例えるとヘッダ自体と同じでしょうか? ヘッダを変数というということで、 そしてそのヘッダ、名札、変数に始めは名前がついていないので、どの変数が区別がつかない。そのため このヘッダ、名札、変数に名前を付けてやろうと名前を付けると、 それが変数名になるという方が正しいでしょうか?
- _backyarD
- ベストアンサー率34% (199/580)
コンピューターとコンピューター用のプログラムが扱う情報としては「~名札」まではあってます。で、「名札」とうい言葉を使うなら、変数は「名札のついた、情報の入れ物」と見ることも出来ます。 その名の通り「変」、変わる可能性があり、変わることが前提とされることが変数である条件です。おそらく、yahoo.co.jpが「実際にはIPアドレスやサーバー自体の居場所を言い換えたもの」ということから変数出ないかと思われているのでは内科と推測しますが、これはあくまで「別名」であり、変数ではありません。言ってみれば「ニックネーム」のようなもの。 たとえば「いつも見るWebページのアドレス」という情報であればこれは変数と言って良いかもしれません。人によって変わりますし、同じ人でもある程度の時期で内容が変わるからです。
お礼
変数とは「値の格納先(アドレス)に対して付けられた名札」といえます。 つまり変数とは値の入った箱というのは厳密には間違っていて。 参照先のアドレス情報に名前を付けたものということなのですね。 その名前が変数名ということでしょうが、 すると変数は名前を付けたデータ自信を指すのですかね、 ややっこしい。 例えば yahoo.co.jpというアドレスの変数があって、yahoo.co.jp先に変数の中に入る値があった場合、 この変数に始めは名前がついていないので、 yahooの情報先の箱という名前を付けよう(変数名) ということですかね。 >>> すると変数は名前を付けたデータ自信を指すのですかね、 もしかして上記は間違っていて、 yahoo.co.jpというアドレスの情報に名札を付ける作業が必須で、 裏側でプログラムが自動的にyahoo.co.jpというアドレスの情報に名札をつけ、その名札だけ、名札自体を変数というのでしょうか? つまりパケットで例えるとヘッダ自体と同じでしょうか? ヘッダを変数というということで、 そしてそのヘッダ、名札、変数に始めは名前がついていないので、どの変数が区別がつかない。そのため このヘッダ、名札、変数に名前を付けてやろうと名前を付けると、 それが変数名になるという方が正しいでしょうか?
お礼
>>> そう言われると、そうですね、良く考えずにコピペしてしまいました。 値の格納先が「箱」。 うーん。アドレスが箱なんではなくアドレスが示す先にある値が箱なんですか? なんだかよくわかりません。