我想知道 C ,
中以下类型的大小 sizeof(int)
,sizeof(float)
,sizeof(double)
,sizeof(char)
,sizeof(167)
,sizeof(3.1415926)
和sizeof(‘$’)
。
答案 0 :(得分:3)
不确定。您可以使用以下代码。我在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,以查看一个字节中有多少位。
答案 1 :(得分:1)
像
这样的东西#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
并不是那么罕见,然后你传递一个函数不期望的大小的参数,这可能是坏的。
答案 2 :(得分:0)
如果它是一个控制台应用程序,你可以使用带有字符串并显示它的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(‘$’));
答案 3 :(得分:0)
我过去三年没有从事C语言工作。但以下是你的问题的答案。 您可以按如下方式打印不同数据类型的大小:
printf(“整数大小:%ul”,sizeof(int));
printf(“float的大小:%ul”,sizeof(float));
printf(“double的大小:%ul”,sizeof(double));
printf(“char的大小:%ul”,sizeof(char));
printf(“167的大小:%ul”,sizeof(167));
printf(“3.1415926的大小:%ul”,sizeof(3.1415926));
printf(“整数大小:%ul”,sizeof('$'));
只需粘贴程序中的printf行。您将获得数据类型的大小。
这里sizeof()是一个函数,它返回存储该数据类型或文字所需的总内存。