Shammer's Philosophy

My private adversaria

文字列とポインタ

なんかわかったようなわからないような・・・
Cで文字列を扱う場合は、

int main(void)
{
 char *value = "TEST";
 printf("%s\n", value);
 return 0;
}

というように、char型のポインタに""で囲んだ文字列を代入し、以降はそのポインタが代入した文字を指す、
というようになっている・・・はず。
が、int型の場合は、

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

とやると、値でなくアドレスと思われる情報が出力される。
当然、printf("%d\n", *p)としてやればうまくいくのだが。。。
文字列はややこしい。。。