C Operator sizeof - sonkoni/Koni-Wiki GitHub Wiki
Operator | Precedence | sizeof | Bitwise
sizeof ννμ sizeof(μλ£ν) sizeof(ννμ)
μλ£νμ΄ λͺ Byte μΈμ§ size_t νμΌλ‘ λ°ννλ€.
μμ€ν
μ λ°λΌ 1 Byte λ CHAR_BIT λ‘ μ μνλ€. μΌλ°μ μΌλ‘ 8λΉνΈκ° 1λ°μ΄νΈμ΄λ€.
sizeof λ μ°μ°μμ΄λ€. ν¨μ λͺ¨μμ νκ³ μμ§λ§ μ°μ°μκ° λ§λ€. ν¨μκ° μ€νμμ μμ νΈμΆλλ κ²κ³Όλ λ¬λ¦¬ sizeof λ μ°μ°μμ΄κΈ° λλ¬Έμ μ»΄νμΌμμ μμ μ°μ°λλ€.
#include <stdio.h>
int main(int argc, char *argv[]) {
short x;
// type argument:
printf("sizeof(float) = %zu\n", sizeof(float));
printf("sizeof(void(*)(void)) = %zu\n", sizeof(void(*)(void)));
printf("sizeof(char[10]) = %zu\n", sizeof(char[10]));
// expression argument:
printf("sizeof 'a' = %zu\n", sizeof 'a'); // type of 'a' is int
printf("sizeof &main = %zu\n", sizeof &main);
printf("sizeof \"hello\" = %zu\n", sizeof "hello"); // type is char[6]
printf("sizeof x = %zu\n", sizeof x); // type of x is short
printf("sizeof (x+1) = %zu\n", sizeof(x+1)); // type of x+1 is int
return 0;
}
// sizeof(float) = 4
// sizeof(void(*)(void)) = 8
// sizeof(char[10]) = 10
// sizeof 'a' = 4
// sizeof &main = 8
// sizeof "hello" = 6
// sizeof x = 2
// sizeof (x+1) = 4