c中sizeof运算符的大小是多少?

时间:2011-02-04 12:04:48

标签: c sizeof

最近我参加了一次关于“SureSoft技术”的采访......在那次访谈中,他们提出了一个问题:“c中sizeof运算符的大小是多少?”

如果有人知道答案与我分享?

4 个答案:

答案 0 :(得分:4)

sizeof运算符本身没有大小。它的结果通常会在编译时变成一个常量值。

对于它返回的值,这将是参数的大小(以字节为单位)。结果的类型是size_t(在<stdlib.h>中定义)(§6.5.3.4.4)

* - 除了动态大小的自动数组之外。

答案 1 :(得分:3)

你会找到答案herehere: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

希望有所帮助。