これが私のコードです:
void func(char c)
{
char * ptr = &c;
size_t len = strlen(ptr);
printf("len - %d\n", len);
}
lenは常に 1 として出力されます。
strlen(..)配列の最後にcharあるヌル文字 ( ) を見つけることによって、配列の長さを決定します。\0ここでptrは、1 文字 ( c) のアドレスだけで初期化されます。cnull 文字が含まれていません。長さはどのようにptr取得しますか?