[過去ログ]
スレ立てるまでもない質問はここで 162匹目 (1002レス)
スレ立てるまでもない質問はここで 162匹目 http://mevius.5ch.net/test/read.cgi/tech/1666337882/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
344: デフォルトの名無しさん (スップ Sd33-cT4U) [] 2022/11/03(木) 00:01:29.37 ID:SIsEhYbod 「int型やdouble型のような”普通の変数”は、そこに整数や小数の値を収めて示すためのものであり、その置き場所がどこであるかは、取り立てて必要のない限りは意識しなくて済むようにつくられている。一方で、この置き場所を値として収めるための変数がポインタである。 厳密にいうと、普通の変数の場合にも変数が直に示すのは整数や小数の値そのものではなくその置き場所のアドレスである。ただしこのアドレスというのは隠蔽され、プログラム実行時には値のほうが示され、使われる。 一方のポインタ変数では、値の置き場所アドレスの置き場所アドレスが格納される。」 https://ja.wikipedia.org/wiki/%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)#%E5%8F%82%E7%85%A7 ここで普通の変数と言われているのは値型の変数?のことだと思うのですが、本当は値自体を格納していないという説明は他で見たことがありません このへん詳しく書かれてるサイトや本を教えて頂きたいです http://mevius.5ch.net/test/read.cgi/tech/1666337882/344
346: デフォルトの名無しさん (ワッチョイ 4907-gxoH) [sage] 2022/11/03(木) 00:10:37.84 ID:0QCo1mM00 >>344 C言語は全部値型だぞ 普通というのはポインタ以外ってことだろ文脈から見て ローカル変数はだいたいスタックに入ってるからアドレスで管理される レジスタ変数はレジスタに値そのものが入ってるからアドレスはない これらはC言語の言語仕様では決まってない処理系依存の仕組みだから入門書には書いてない 特定の処理系のドキュメントを読むんだな http://mevius.5ch.net/test/read.cgi/tech/1666337882/346
349: デフォルトの名無しさん (ワッチョイ c1b0-ee5o) [sage] 2022/11/03(木) 00:30:07.92 ID:eFLKzazV0 >>344 示されてるWikipediaの説明は疑問を理解するのに充分なものだと思うけどな 他のサイトや書籍をあたったところで説明は同じようなものかより少量だろう そもそも自分でも引用しているように変数やポインタの実装は意識しなくてすむようにしてあるし、 変数やポインタを理解することはその内部実装がどうであるかの理解を必要としてない 自分が必要のない方向へがんばってるということを気づくように それでも理解したいというならサイトや書籍なんかで済ますのではなくアセンブリ言語を1つ習得するのを勧める 簡単だしその習得の過程でメモリやアドレス、値の表現や変数名・シンボルの関係など今の疑問は全部解決すると思う http://mevius.5ch.net/test/read.cgi/tech/1666337882/349
368: デフォルトの名無しさん (ワッチョイ f902-zNLi) [sage] 2022/11/03(木) 10:56:18.73 ID:gQ2GSpPo0 >>344 だいたい、「普通の変数」だろうが「ポインタ変数」だろうが、データ型が何かを表す情報も必要だし、 ただ値そのものが入ってるだけの領域でどうやって変数を識別するんだって話だしな。 http://mevius.5ch.net/test/read.cgi/tech/1666337882/368
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.029s