いつも、大体「うぐげげげげ、辛たん」となりがちだけど、今回のこれは、なんというか、「うひゃはーーっっ」と盛り上がったことです。
で、今回の話を読んで、初めてchar型のなんたるかを把握した(・・・と思う)。
そういうことだったのかーーーっっと。
char型=文字、となんとなく思っていたけれど、全然そうじゃなかったorz。
char型1個で1バイト文字1個のデータが入れられる・・・というだけで、別に数値でもいいのだ。。。ただし、char箱のサイズは、1バイトで、char箱に入っているビットの箱は、8つしかない。よって、10進法換算で、0~255(unsigned charの場合)までの数値しか扱えない。
printfで表示させる時、
%c指定→char箱の中の値を文字コードと解釈して、該当する文字を表示せよ
%d指定→char箱の中身の数値を表示せよ
・・・ってことなのだな、と。%d指定するとASCIIコードの方が表示される・・・と思っていたけど、そうじゃない。
'a'を指定すると、char箱に97がセットされる(2進数だが)。コンピュータ的には、こやつは97だ。でも、%cで表示せよ、とした場合には、表示する時に文字コード参照して97に該当する文字「a」が表示される。
QT: https://mstdn.jp/@NAITOTokihiro/111196286469920045 [参照]
ありがとうございます。先生の講座のお陰で、ついに理解に到達しました。
何が、というのでもないけれど、ずっともやもや、もやもや、「見えそうで見えない」感がしていたのですが、その霧が晴れました。
C言語の「型」が、つねにどこかふわふわと宙に浮いたようになっていたのですが、型の中にあるバイトやビットの箱が見えたことで、なんとか「手元に引き寄せ」られるようになった気がします。いじくり回せるところまでは、まだ行きませんが。
本当にありがとうございます。面白いですねえ!!!