文字列が入った配列からfor文で要素を一つ一つ取り出したいのですが、なぜこのコードで要素が取り出せるのかが分かりません。
sizeof(kw)の24という値と、sizeof(*kw)の8という値はどこから出てきたのでしょうか?char型のポインタ変数のサイズって1だと思うのですが、、、
c
1#include<stdio.h> 2 3int main(void){ 4 static char *kw[] = {"re", "ifaaaaaaaaaaa", "else"}; 5 6 for (int i = 0; i < sizeof(kw) / sizeof(*kw); i++) { 7 //printf("%lu\n",sizeof(kw)); 24 8 //printf("%lu\n",sizeof(*kw)); 8 9 printf("%s\n",kw[i]); 10 } 11 return 0; 12}
回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/18 05:57