在 C 中声明 ULONG_MAX

Declaring ULONG_MAX in C

我一直在研究 ULONG_MAX 并试图找出如何声明它,但它似乎不起作用。我使用 header #include <stdio.h>#include <limits.h 使 ULONG_MAX 工作。 ULONG_MAX 在线上没有太多内容,所以这让我很难使用它。我觉得我用 ULONG_MAX 错了。

问题: 如何申报ULONG_MAX

示例代码:

#include <stdio.h>
#include <limits.h>

main(){
  ULONG_MAX number;

  return 0;
}

错误:

gcc version 4.6.3

main.c:4:1: warning: return type defaults to 'int' [-Wimplicit-int]
 main(){
 ^~~~
main.c: In function 'main':
main.c:5:13: error: expected ';' before 'number'
   ULONG_MAX number;
             ^~~~~~
main.c:6:3: error: 'num' undeclared (first use in this function)
   num = ULONG_MAX;
   ^~~
main.c:6:3: note: each undeclared identifier is reported only once for each function it appears in

exit status 1

我使用的编译器:Repl.it

ULONG_MAX 不是类型,它是 unsigned long 类型允许的最大 ,通常定义为:

#define ULONG_MAX 0xFFFFFFFFUL

因此,从语义上讲,两者之间没有区别:

ULONG_MAX number;

明显不正确的是:

42 number;

为了使用这个值,你会做这样的事情:

unsigned long bigVal = ULONG_MAX;