size_t仅适用于C ++标准或C标准吗?

时间:2010-03-30 18:28:53

标签: c++ c size-t

size_t仅适用于C ++标准或C标准吗?

我在“/ usr / include”树中找不到定义size_t的C头。

如果它不在C标准中,那么GCC是否只是做了一些魔术才能让事情发挥作用?

谢谢, Chenz

6 个答案:

答案 0 :(得分:5)

size_t<stddef.h><stdlib.h>

中定义

答案 1 :(得分:4)

来自C99草案:

7.17常见定义<stddef.h>

  1. 标准标题<stddef.h>中定义了以下类型和宏。一些 也在其他标题中定义,如各自的子条款中所述。

  2. 类型为[ - snip - ]

    size_t
    

    sizeof运算符结果的无符号整数类型; [ - 剪断 - ]

答案 2 :(得分:2)

size_t来自C标准库

中声明
#include <stddef.h>  //For C
#include <cstddef>   //For C++

答案 3 :(得分:1)

$ grep -R -P "typedef.*\s+size_t;" /usr/include/ 2> /dev/null

将为您提供定义size_t

的文件列表

答案 4 :(得分:0)

对于C(或C ++中的cstdlib.h),

size_t在stdlib.h中。

答案 5 :(得分:0)

它在ansi c中的string.h中定义。