ID非公開

2020/10/29 16:42

44回答

char aとchar *aの違いはなんですか?

char aとchar *aの違いはなんですか? 前者は一文字、後者は文字列というのは分かりますが*aにaを代入するにはどのようにするのが正しいのでしょうか

C言語関連31閲覧

ベストアンサー

0

char a aは、8bitのサイズを持つ整数の変数です。 符号の有無はコンパイラによります。 主に文字データを入れることが多いですが、 8bitの整数であれば何でも入れられます。 char *a aは、char型を参照しているポインタ変数です。 サイズは8〜64bitまで、環境次第です。 (32bitメモリ環境であれば、32bitです) その値は、ポインタ値(アドレス)です。 なお、こちらも、変数名としては a です。*a という変数になるわけではありません。 後者のaの中身はアドレスなので、そこに、前者のaを入れるということは出来ません。 (同じ整数なので無理矢理入れれば入りますが……)

ThanksImg質問者からのお礼コメント

なるほど うまくいかなかった理由がわかりました。ありがとうございます。

お礼日時:10/30 12:07

その他の回答(3件)

0

>後者は文字列というのは分かりますが ↑間違いです。 char a は1バイト(8bit)の変数 char *a は1バイト(8bit)の変数のアドレス