size_t仅在C++中吗标准还是C标准?

发布于 2024-08-26 23:52:55 字数 142 浏览 7 评论 0原文

size_t 仅在 C++ 标准中还是 C 标准中?

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

如果它不在 C 标准中,那么 GCC 是否只是做了一些魔法来使事情正常工作?

谢谢, 陈兹

Is size_t only in C++ standard or C standard as well?

I cannot find a C header in the "/usr/include" tree that defines size_t.

If it is not in the C std, is GCC just doing some magic to make things work?

Thanks,
Chenz

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

剧终人散尽 2024-09-02 23:52:55

size_t 中定义

size_t is defined in both <stddef.h> and <stdlib.h>

以往的大感动 2024-09-02 23:52:55

来自 C99 草案:

7.17 通用定义

  1. 以下类型和宏在标准头文件 中定义:。一些
    也在其他标头中定义,如各自子条款中所述。

  2. 类型为 [-snip-]

    <前><代码>size_t

    这是sizeof运算符结果的无符号整数类型; [-snip-]

From C99 draft:

7.17 Common definitions <stddef.h>

  1. The following types and macros are defined in the standard header <stddef.h>. Some
    are also defined in other headers, as noted in their respective subclauses.

  2. The types are [-snip-]

    size_t
    

    which is the unsigned integer type of the result of the sizeof operator; [-snip-]

可爱咩 2024-09-02 23:52:55

size_t来自C标准库,

它的声明在

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

size_t is from the C standard library

It is declared in

#include <stddef.h>  //For C
#include <cstddef>   //For C++
山有枢 2024-09-02 23:52:55

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

将为您提供定义 size_t 的文件列表

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

will give you a list of files that define size_t

苏大泽ㄣ 2024-09-02 23:52:55

size_t 位于 C 语言的 stdlib.h 中(或 C++ 中的 cstdlib.h) 。

size_t is in stdlib.h for C (or cstdlib.h in C++).

冷…雨湿花 2024-09-02 23:52:55

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

It is defined in string.h in ansi c.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文