[英]How can I get the sizes of various types in c?
我想知道C中以下类型的大小,
sizeof(int)
, sizeof(float)
, sizeof(double)
, sizeof(char)
, sizeof(167)
, sizeof(3.1415926)
和sizeof('$')
。
当然。 您可以使用以下代码。 我正在用C回答,因为尽管有C#标记,但这仍是问题的答案。 如果您真的想要C#,那么其他人将不得不提供帮助。
#include <stdio.h>
int main (void) {
// Use %zu for size_t if your compiler supports it.
printf("sizeof(int) = %d\n",sizeof(int));
printf("sizeof(float) = %d\n",sizeof(float));
printf("sizeof(double) = %d\n",sizeof(double));
printf("sizeof(char) = %d\n",sizeof(char));
printf("sizeof(167) = %d\n",sizeof(167));
printf("sizeof(3.1415926) = %d\n",sizeof(3.1415926));
printf("sizeof('$') = %d\n",sizeof('$'));
return 0;
}
输出(在我的系统上):
sizeof(int) = 4
sizeof(float) = 4
sizeof(double) = 8
sizeof(char) = 1
sizeof(167) = 4
sizeof(3.1415926) = 8
sizeof('$') = 4
请记住,这给你的值以字节为单位其中,C标准下, 不一定是8位。 您应该从limits.h
检查CHAR_BITS,以查看一个字节中有多少位。
就像是
#include <stdio.h>
int main()
{
printf("sizeof(int) = %ul\n", (unsigned long) sizeof(int));
}
与许多类似的行会做。 保存,编译和运行。
一个常见的错误是printf("sizeof(int) = %d", sizeof(int));
,但这是不匹配的。 sizeof()
的结果是size_t
,它是一个无符号整数类型,足够容纳任何可能的对象大小。 %d
说明符要求一个int
,这是一个有符号整数类型,便于计算。 size_t
大于int
并不是很罕见,然后您要传递函数无法预期的大小的参数,这可能很糟糕。
如果是控制台应用程序,则可以使用带字符串并显示它的writeline:
Console.WriteLine(sizeof(int));
Console.WriteLine(sizeof(int));
Console.WriteLine(sizeof(float));
Console.WriteLine(sizeof(double));
Console.WriteLine(sizeof(char));
Console.WriteLine(sizeof (167));
Console.WriteLine(sizeof(3.1415926));
Console.WriteLine(sizeof(‘$’));
最近三年来我一直不在从事C语言工作。 但是以下是您问题的答案。 您可以按以下方式打印不同数据类型的大小:
printf(“整数大小:%ul”,sizeof(int));
printf(“ float的大小:%ul”,sizeof(float));
printf(“ Double of size:%ul”,sizeof(double));
printf(“字符大小:%ul”,sizeof(字符));
printf(“ 167的大小:%ul”,sizeof(167));
printf(“ Size of 3.1415926:%ul”,sizeof(3.1415926));
printf(“整数大小:%ul”,sizeof('$'));
只需在程序中的printf行上方粘贴即可。 您将获得数据类型的大小。
这里的sizeof()是一个函数,该函数返回存储该数据类型或文字所需的总内存。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.