C言語の文字型変数への代入規則を教えてください。
C言語における文字型変数の代入規則は以下の通りです。
- char型の変数には文字定数を直接代入できます。例えば、char c = ‘a’;
- 整数定数を文字型変数に代入すると、コンパイラは整数に対応するASCII文字に変換します。 例えば:char c = 97;は、文字’a’に代入するのと同じです。
- 文字変数は他の文字変数に値を代入することができる。例えば: char c1 = ‘a’; char c2 = c1;
- 文字配列の特定のインデックスの値を文字型変数に代入できます。例えば、char str[] = “hello” と char c = str[0] の場合、変数cには文字配列strの最初の文字が代入されます。
- 文字列ポインタを文字変数に代入することができ、例えば「char *str = \”hello\”; char c = *str;」とすると、c変数には文字列の最初の文字が代入されます。
- 文字変数へエスケープ文字を割り当てることは可能で、たとえば char c = ‘\n’; は改行を表す。
文字は1文字のみ格納できるため、文字型変数に代入する数値は、1文字またはそのアスキーコードとしなければなりません。複数の文字の値を代入すると、コンパイラから警告やエラーメッセージがでます。