sizeof(...)
私は C コードを持っていますが、関数がどのように機能するかわかりません:
#include <stdio.h>
int main(){
const char firstname[] = "bobby";
const char* lastname = "eraserhead";
printf("%lu\n", sizeof(firstname) + sizeof(lastname));
return 0;
}
上記のコードでは、sizeof(firstname) は 6 で、sizeof(lastname) は 8 です。
ただし、bobby
幅は 5 文字で、幅eraserhead
は 11 です。期待してい16
ます。
文字配列と文字へのポインターで sizeof の動作が異なるのはなぜですか?
誰でも明確にできますか?