C 特定于系统的数据类型的最大大小

C 特定于系统的数据类型的最大大小,c,C,我试图找出C数据类型的最小值和最大值,比如short、int和long 我在维基百科的一篇文章中找到了最小尺寸,但我不知道如何找到我电脑的最大尺寸 我有一台MacOSX10.8 谢谢 使用头文件中的宏。使用头文件中的宏。您可以使用中定义的{TYPE}[MIN | MAX]宏检查类型范围: printf("range of short int: %d - %d", SHRT_MIN, SHRT_MAX); 您可以使用sizeof运算符检查类型大小: printf("size of short i

我试图找出C数据类型的最小值和最大值,比如short、int和long

我在维基百科的一篇文章中找到了最小尺寸,但我不知道如何找到我电脑的最大尺寸

我有一台MacOSX10.8


谢谢

使用头文件中的宏。

使用头文件中的宏。

您可以使用中定义的
{TYPE}[MIN | MAX]
宏检查类型范围:

printf("range of short int: %d - %d", SHRT_MIN, SHRT_MAX);
您可以使用
sizeof
运算符检查类型大小:

printf("size of short int: %zu", sizeof(short int));
编辑:
还可以检查@JoachimPileborg answer,因为他提供了一个更好的限制参考。

您可以使用中定义的
{TYPE}}[MIN | MAX]
宏检查类型范围:

printf("range of short int: %d - %d", SHRT_MIN, SHRT_MAX);
您可以使用
sizeof
运算符检查类型大小:

printf("size of short int: %zu", sizeof(short int));
编辑:
同时检查@JoachimPileborg answer,因为他提供了更好的限制参考。

标题将是您的朋友。您需要它的值SHRT_MIN、SHRT_MAX、INT_MIN、INT_MAX、LONG_MIN、LONG_MAX。我相信他们的名字是自描述性的。

标题将是您在这里的朋友。您需要它的值SHRT_MIN、SHRT_MAX、INT_MIN、INT_MAX、LONG_MIN、LONG_MAX。我相信他们的名字是自描述性的。

有以下限制

#include <limits.h>
#包括

限制包括以下内容

#include <limits.h>
#包括

您可以使用limit.h和float.h中定义的常数:

(在internet上快速搜索列表)


您可以使用limit.h和float.h中定义的常数:

(在internet上快速搜索列表)


sizeof
返回类型为
size\t
的值,您应该使用
%zu
而不是
%d
@AlexeyFrunze您完全正确,我已经修复了我的答案。您知道为什么printf(“长int的范围:%I-%I\n”,长MIN,长MAX);给我一个长整数的范围:0--1@papercuts使用
%ld
表示
long
%lu
表示
无符号long
<代码>%i代表
int
。哦,好的,谢谢!这很有帮助
sizeof
返回类型为
size\t
的值,您应该使用
%zu
而不是
%d
@AlexeyFrunze您完全正确,我已经修复了我的答案。您知道为什么printf(“长int的范围:%I-%I\n”,长MIN,长MAX);给我一个长整数的范围:0--1@papercuts使用
%ld
表示
long
%lu
表示
无符号long
<代码>%i代表
int
。哦,好的,谢谢!那很有帮助