最近我参加了一次关于“SureSoft技术”的采访......在那次访谈中,他们提出了一个问题:“c中sizeof运算符的大小是多少?”
如果有人知道答案与我分享?
答案 0 :(得分:4)
sizeof
运算符本身没有大小。它的结果通常会在编译时变成一个常量值。
对于它返回的值,这将是参数的大小(以字节为单位)。结果的类型是size_t
(在<stdlib.h>
中定义)(§6.5.3.4.4)
* - 除了动态大小的自动数组之外。
答案 1 :(得分:3)
你会找到答案here和here:sizeof的结果是size_t类型,并且:
“size_t的实际类型与平台有关;常见的错误是假设size_t与unsigned int相同,例如,当从32位架构移动到64位架构时,可能会导致编程错误。 根据1999 ISO C标准(C99),size_t是一个至少16位的无符号整数类型。“
答案 2 :(得分:1)
stddef.h中定义的size_t类型。
答案 3 :(得分:1)
答案很简单 - 它是传递给sizeof的给定数据结构的字节大小。
例如:
sizeof(char) // one bytes
sizeof(int) // four bytes
希望有所帮助。