c 数据类型大小

发布于 2024-09-09 04:46:15 字数 26 浏览 1 评论 0原文

我如何知道计算机中所有数据类型的大小?

How i can know the size of all data type in my computer?

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

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

发布评论

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

评论(4

趴在窗边数星星i 2024-09-16 04:46:16

下面的程序应该可以解决基本类型的问题:

#include <stdio.h>
int main()
{
    printf("sizeof(char) = %d\n", sizeof(char));
    printf("sizeof(short) = %d\n", sizeof(short));
    printf("sizeof(int) = %d\n", sizeof(int));
    printf("sizeof(long) = %d\n", sizeof(long));
    printf("sizeof(long long) = %d\n", sizeof(long long));
    printf("sizeof(float) = %d\n", sizeof(float));
    printf("sizeof(double) = %d\n", sizeof(double));
    printf("sizeof(long double) = %d\n", sizeof(long double));
    return 0;
}

这会打印该类型使用的“字节”数,根据定义 sizeof(char) == 1。 1 的含义(即有多少位)是特定于实现的,并且可能取决于底层硬件。例如,有些机器有 7 位字节,有些机器有 10 或 12 位字节。

The following program should do the trick for the primitive types:

#include <stdio.h>
int main()
{
    printf("sizeof(char) = %d\n", sizeof(char));
    printf("sizeof(short) = %d\n", sizeof(short));
    printf("sizeof(int) = %d\n", sizeof(int));
    printf("sizeof(long) = %d\n", sizeof(long));
    printf("sizeof(long long) = %d\n", sizeof(long long));
    printf("sizeof(float) = %d\n", sizeof(float));
    printf("sizeof(double) = %d\n", sizeof(double));
    printf("sizeof(long double) = %d\n", sizeof(long double));
    return 0;
}

This prints the number of "bytes" the type uses, with sizeof(char) == 1 by definition. Just what 1 means (that is how many bits that is) is implementation specific and likely depend on the underlying hardware. Some machines have 7 bit bytes for instance, some have 10 or 12 bit bytes.

无言温柔 2024-09-16 04:46:16

您可以将 sizeof 应用于需要知道其大小的每种类型,然后可以打印结果。

You can apply sizeof to each type whose size you need to know and then you can print the result.

星軌x 2024-09-16 04:46:16

sizeof(T) 将为您提供传递给它的任何类型的大小。如果您试图找出特定程序中使用或定义的所有数据类型的大小,您将无法做到这一点——C 在编译时不会维护该级别的信息。

sizeof(T) will give you the size of any type passed to it. If you're trying to find out the size of all data types used or defined in a particular program, you won't be able to--C doesn't maintain that level of information when compiling.

空宴 2024-09-16 04:46:16

使用 sizeof 获取变量类型的大小(以字节为单位)。
例如:
#include
sizeof(int32_t) 将返回 4
sizeof(char) 将返回 1
int64_t a;
sizeof a; 将返回 8

请参阅 http:// Publications.gbdirect.co.uk/c_book/chapter5/sizeof_and_malloc.html

Use sizeof to get the size of the type of variable (measured in bytes).
For example:
#include <stdint.h>
sizeof(int32_t) will return 4
sizeof(char) will return 1
int64_t a;
sizeof a; will return 8

See http://publications.gbdirect.co.uk/c_book/chapter5/sizeof_and_malloc.html

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