C言語のint型の宣言とfor文について
①int型の宣言について
int count[1 << CHAR_BIT] = { 0 };
というものがあったのですが、よく分かりません。
調べてみるとCHAR_BITは8以上と書かれていましたが、このint型の宣言の意味は分かりませんでした。
②for文について
char *p = "ABCDEFG";
for ( ; *p ; p++) { ~}
普通のfor文ではfor(int i = 0; i < 10; i++)となりますが、この場合はどういうことなのでしょうか。*pの長さの分(7文字あるので7回。そのため初期値が必要ない)ということでいいのでしょうか。
よろしくお願いします。