C言語って… (275レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
242
(4): 2011/09/12(月)18:58 ID:Ul4IIAFd(1) AAS
最近思ったけど先にポインタを覚えた方がラクなんじゃね?

int *p=ソース上で整数型のメモリを扱う固有名詞をpと名づける

p=メモリの番地をさす
*p=メモリの中身をさす

int a=整数型のメモリをどこかに確保し、ソース上で固有名詞aとして扱う

&a=メモリの番地をさす
a=メモリの中身をさす
243: 2011/09/12(月)20:38 ID:JVPxlqK+(1) AAS
>>242の説明を読んでも、特にナルホドと思う点はなかったw
251: 2015/02/06(金)12:13 ID:Dq4nT0Xs(1) AAS
>>242
C言語学び始めの俺には非常にわかりやすいレスだ
コピペして自分のメモ帳に残しておくわ
252: 2015/02/10(火)18:37 ID:avKQ6s0l(1) AAS
>>242
そのint aがレジスタに割り当てられたとき、&aはどこのアドレスを指すの?
253: 2015/02/13(金)16:10 ID:fRUihGLp(1) AAS
>>242って4年前のレスだぞ…。

一応答えておくと、メモリ上の変数をそのつどレジスタにコピーしてから演算するわけで、
殆どの場合、変数にはメモリが割り当てられている。その辺りの動作は基本的に
コンパイラがうまくやってくれているので知ってさえいればいい。

(あらかじめ作成した)静的変数や(newで作成した)ヒープ上の変数は
必ずメモリ上の実体があるから&aは必ずそこを指す。

一方、(関数内などローカルスコープで一時確保した)動的変数は、コンパイラの最適化によっては
省3
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.009s