09/01/04 10:55:21
>>580
丁寧にありがとうございます。
しかによくわからない点があります。
>変数に & を付ける事によって得られるポインタの型は、
>元の変数の型に * をつけた形で表現する。
つまりこれで先ほどの例だと
int n; という宣言が先に必ずある
int *p = &n; その上で、元の変数の型はint n よりint型であることがわかっているので
p の型はintにしないといけない。よって、nのアドレスが格納されているpは、
(元の変数の型)intに*をつけて int *pとあらわすということですよね。
しかしよくわからないのですが、p = &n; とint *p = &nの違いがわかりません
前者はpにはnのアドレスの値が入っている。
後者はpにはnのアドレスの値が入っているのではないのでしょうか?
前者だと先にint p; と宣言しておけばp はint型になるのでは?