掲示板ランキング  エビ(伊勢エビ)  エビ(オマールエビ)  エビ(車エビ)  エビ(ぼたんエビ)


掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板1

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧

No.6416

ポインタについての確認事項
投稿者---zyakatu(2006/09/06 14:52:11)


ポンインタについて確認と疑問点があります

int *p;
int *k;

printf("p =%d", p)・・・
printf("p =%d", &p)・・・
p = k・・・・
p = 123・・・

 銑い料犧遒魍稜Г靴燭い里任垢、

<確認したいこと>
,任pの箱の中身を表示している。
△任p自身のアドレスが表示される。
ではポインタ変数kの箱の中身をポインタ変数pの箱の中に入れる。
<確認及び疑問>
い海譴魯灰鵐僖ぅ襯┘蕁爾砲覆蠅泙靴拭
 ではなぜはエラーにはならないのでしょうか?


以上です。ご教示頂ければ幸いです。



この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:ポインタについての確認事項 6417 wis 2006/09/06 15:38:47
<子記事> Re:ポインタについての確認事項 6419 たかぎ 2006/09/06 16:14:20
<子記事> Re:ポインタについての確認事項 6421 へろり 2006/09/07 08:14:32


No.6417

Re:ポインタについての確認事項
投稿者---wis(2006/09/06 15:38:47)


><確認したいこと>
>,任pの箱の中身を表示している。
正しいと思います。ただし、中身がポインタであることを
忘れないでください。提示されたコードの場合はごみが入っている
可能性があります。

>△任p自身のアドレスが表示される。
正しいと思います。

>ではポインタ変数kの箱の中身をポインタ変数pの箱の中に入れる。
正しいと思います。
ただし、上にも書いたようにk,pの中身がポインタであることを
忘れないでください。

><確認及び疑問>
>い海譴魯灰鵐僖ぅ襯┘蕁爾砲覆蠅泙靴拭
> ではなぜはエラーにはならないのでしょうか?
はkに格納されているポインタをpに格納します。
p,kはともにポインタ変数(ポインタを格納するための変数)ですので、
数値やデータをそのまま格納することはできません。
格納できるのはあくまでポインタのみです。

以下のようになります
#include <stdio.h>

int main(void)
{
    int *p;
    int d = 123;
    
    p = &d;
    
    printf("&p=%d\n", &p );
    printf("p =%d\n", p  );
    printf("*p=%d\n", *p );
    printf("&d=%d\n", &d );
    printf("d =%d\n", d  );
    
    return 0;

}



この投稿にコメントする

削除パスワード

No.6418

有難うございました。
投稿者---zyakatu(2006/09/06 15:55:28)


ご教示どうも有難うございました。

おかげさまで、ポインタについて自分の中
でまとめることができました。

本当に有難うございました。


この投稿にコメントする

削除パスワード

No.6419

Re:ポインタについての確認事項
投稿者---たかぎ(2006/09/06 16:14:20)
http://takagi.in/


><確認及び疑問>
>い海譴魯灰鵐僖ぅ襯┘蕁爾砲覆蠅泙靴拭
> ではなぜはエラーにはならないのでしょうか?

本当にコンパイルエラーになりますか?
もう一度よく確認してみてください。警告ではありませんか?

これがコンパイルエラーになる可能性は次の三つのうちどれかです。

1. 警告をエラーをするようなコンパイルオプションを指定した。
2. 実はC++としてコンパイルしていた。
3. コンパイラのバグ



この投稿にコメントする

削除パスワード

No.6423

「警告」でした
投稿者---zyakatu(2006/09/07 09:57:36)


「コンパイルエラー」ではなく「警告」でした。
すみませんでした。


この投稿にコメントする

削除パスワード

No.6421

Re:ポインタについての確認事項
投稿者---へろり(2006/09/07 08:14:32)


> 銑い料犧遒魍稜Г靴燭い里任垢、
>
><確認したいこと>
>,任pの箱の中身を表示している。
>△任p自身のアドレスが表示される。
>ではポインタ変数kの箱の中身をポインタ変数pの箱の中に入れる。

”箱”とは何ですか。 この箱がpと言う名前を持つ変数のインスタンス
という意味であるなら上記の通りで正しいでしょう

ですが、ポインタ型変数pが持つ値が指し示すインスタンスの中身という
意味なら誤りです。


><確認及び疑問>
>い海譴魯灰鵐僖ぅ襯┘蕁爾砲覆蠅泙靴拭
> ではなぜはエラーにはならないのでしょうか?
>
左辺値と右辺値の型が違います。


#機種依存文字は出来るだけ避けた方がいいですよ


この投稿にコメントする

削除パスワード

No.6422

Re:ポインタについての確認事項
投稿者---nano(2006/09/07 09:31:19)


>左辺値と右辺値の型が違います。

コンパイル時に「おそらく不正な代入」のような
警告は出るかもしれませんが、
エラーにまではならないと思います。



この投稿にコメントする

削除パスワード

No.6425

「警告」でした
投稿者---zyakatu(2006/09/07 10:07:32)


すみませんでした。
「コンパイルエラー」ではなく「警告」でした。

ご教示有難うございました。



この投稿にコメントする

削除パスワード

No.6424

もう一度確認したいのですが
投稿者---zyakatu(2006/09/07 10:05:40)


>”箱”とは何ですか。 この箱がpと言う名前を持つ変数のインスタンス
>という意味であるなら上記の通りで正しいでしょう


私が述べたい"箱"とは「メモリ上のある番地におけるポインタ変数pの領域」という意味で投稿させて頂きました。
この意味ならば、

<確認したいこと>
ではポインタ変数kの箱の中身をポインタ変数pの箱の中に入れる。

は正しいと言えるでしょうか?
再度ご教示頂ければ幸いです宜しくお願い致します。






この投稿にコメントする

削除パスワード

No.6426

Re:もう一度確認したいのですが
投稿者---nano(2006/09/07 10:15:19)


>ではポインタ変数kの箱の中身をポインタ変数pの箱の中に入れる。

正しいです。
ところで、ポインタ変数だからといって、
ことさら特別視する必要はありません。
int型変数bの中身をint型変数aの中に入れるとき、
    a = b;

と書いて何の疑問も抱かないはずです。
ポインタ変数の場合、その値が「何かの変数のアドレスである」というだけです。


この投稿にコメントする

削除パスワード

No.6427

ありがとうございました。
投稿者---zyakatu(2006/09/07 13:33:57)


ご教示ありがとうございました。

ポインタについて理解できました。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    記事検索    ログ    タグ一覧





掲示板提供:(有)リアル・インテグリティ