DOBON.NET DOBON.NETプログラミング掲示板過去ログ

ポインタに*を付けた時に表すデータについて

環境/言語:[C]
分類:[その他]

ポインタに*を付けた場合、
これはポインタが指し示しているデータを表すのではないのでしょうか?

データ1
1234,ああああ,4444
2345,33333,444
3333,ddd,ddd

データ2
7555,sss,sss
6666,fffff,tttt


char buff1[256];
char buff2[256];

char *bunkatu1;
char *bunkatu2;

fgets(buff1,256, fp1);
fgets(buff2,256, fp2);

bunkatu1=strtok(buff1,",");
bunkatu1=strtok(buff2,",");

if(*bunaktu1==*bunkatu2)

このとき1==7となっています。
1234==7555のはずなのではないのでしょうか?

またこの時、printfで出力しますと正しく出力されます。
printf(bunaktu1); →1234 と出力されます。
printf(bunaktu2); →7555と出力されます。

ポインタに*を付けた場合、
これはポインタが指し示しているデータを表すのではないのでしょうか?

初歩的な質問ですみません。
■No6917に返信(sakkyさんの記事)
> ポインタに*を付けた場合、
> これはポインタが指し示しているデータを表すのではないのでしょうか?
先頭のね。

> このとき1==7となっています。
> 1234==7555のはずなのではないのでしょうか?
ゼッタイなるわけありません。
char型を何か勘違いしてらっしゃるようですね。

> またこの時、printfで出力しますと正しく出力されます。
> printf(bunaktu1); →1234 と出力されます。
> printf(bunaktu2); →7555と出力されます。
Null終端文字まで出力するからね。

> ポインタに*を付けた場合、
> これはポインタが指し示しているデータを表すのではないのでしょうか?
> 初歩的な質問ですみません。
ポインタはCの基本。勉強するしかない。
http://www.kumei.ne.jp/c_lang/

DOBON.NET | プログラミング道 | プログラミング掲示板