- 締切済み
int型での文字列の扱いについて
整数はint型、文字はchar型を使うのが原則のようですが、 文字はコンピュータの中で数字で扱われていることと、 char型が0~255、int型がそれ以上の範囲の数字を扱えることを考えると 文字を扱う時もint型でかまわないのでは?と思いました。 実際、int型で1文字出力できました。具体的には下です。 int a; a=getchar(); printf("%c\n",a); return 0; しかし、文字列をint型で扱おうとすると、コンパイル時にエラーとなります。 int a[50]="Hello"; printf("%s\n",a); return 0; なぜ、int型では文字列が扱えないのか理解できません。
お礼
回答ありがとうございました。
補足
>4バイト中3バイトは常に0で使われません。かなり無駄ですね。特に昔はメモリやハードディスクの容量が少ないですから、少しの無駄も省かねばなりません(今も無駄使いは良くありませんが・・・)。この様に、1バイトの文字コードを扱う場合は、char型が適しています。 なるほど!やっと「なぜchar型なのか?」という疑問が解けました。 確かに、int型では無駄が多いですね。