void func(char *s[]){
printf("s: %d\n", sizeof(s));
}
void caller(){
char *a[2];
for(int i = 0; i < 2; i++){
a[i] = (char *)malloc(50 * sizeof(char));
}
strcpy(a[0], "something");
strcpy(a[1], "somethingelse");
printf("a: %d\n", sizeof(a));
func(a);
}
これは出力します
a: 16
s: 8
との出力がsizeof()
異なるのはなぜですか? また、配列内の数を経由して取得することは可能ですか?caller()
func()
func
char *
sizeof