C语言long

C语言long教程

C 语言 中的 long 用来表示一个 整数,也可以叫做长整型,long 能表示的数不一定是大于 int 类型的,但一定不会小于 int 类型范围,因此,我们可以说 long 的取值范围大于等于 int 的取值范围。

C语言long定义详解

语法

long int varname = value; long varname = value; //简写

参数

参数 描述
long int 定义 long 类型变量使用的类型。
varname 变量名。
value 可选,变量的初始值,该值不可以超过 long 类型的最大值。

说明

使用 long 定义了一个 long 类型的变量 varname,并赋初值为 value,同时,还可以直接使用 long 来定义 long 类型的变量。

C语言long详解

说明 描述
取值范围 -2147483647L - 1 ~ 2147483647L
字节数 4
格式化符 %ld

说明

C 语言的 long 的取值范围为 -2147483647L - 1 ~ 2147483647L,同时,在 limits.h 中有 常量 LONG_MIN 表示其最小值和 LONG_MAX 表示其最大值。

其中,取值范围数字最后的 L 表示这个是一个长整型变量。

案例

定义long变量

使用 long int 定义 long 变量

#include <stdio.h> int main(long argc, char **argv) { printf("嗨客网(www.haicoder.net)\n"); long int a = 101; long int b = 201, c = 301, d = 1024; printf("a = %ld\n", a); printf("b = %ld, c = %ld, d = %ld\n", b, c, d); }

程序运行后,控制台输出如下:

39_C语言long.png

我们首先,定义了一个 long 类型的变量 a,并初始化为 101,接着,我们一次定义了三个 long 类型的变量,分别为 b,c 和 d,并分别初始化。

最后,我们使用了 printf 打印了我们定义的四个变量的值。

long变量取值范围

使用 limits.h 获取 long 的取值范围

#include <stdio.h> #include <limits.h> int main(long argc, char **argv) { printf("嗨客网(www.haicoder.net)\n"); long int longMin = LONG_MIN; long int longMax = LONG_MAX; printf("longMin = %ld, longMax = %ld\n", longMin, longMax); }

程序运行后,控制台输出如下:

40_C语言long.png

我们首先,使用 include 引入了 limits.h 头文件,接着,我们使用了常量 LONG_MIN 和 LONG_MAX 分别获取了 long 类型的最小值和最大值。

同时,我们将最小值和最大值分别赋值给了变量 longMin 和 longMax,最后,我们使用 printf 输出了 long 类型的最大值和最小值。

long变量超出范围

如果变量超出了 long 范围,结果未知

#include <stdio.h> #include <limits.h> int main(long argc, char **argv) { printf("嗨客网(www.haicoder.net)\n"); long int longMin = LONG_MIN - 100; long int longMax = LONG_MAX + 100; printf("longMin = %ld, longMax = %ld\n", longMin, longMax); }

程序运行后,控制台输出如下:

41_C语言long.png

我们分别定义了一个 long 类型的变量 longMin 和 longMax,同时,我们将 longMin 赋值为 long 类型的最小值还减去 100,将 longMax 赋值为 long 类型的最大值还加上 100。

最后,我们输出了 longMin 和 longMax,我们发现,此时的 longMin 的值和 longMax 的值已经不是正确的值了,已经发生了溢出。

因此,我们定义变量时,变量的值一定不要超过变量的取值范围。

long字节数

使用 sizeof,获取 long 的字节

#include <stdio.h> int main(long argc, char **argv) { printf("嗨客网(www.haicoder.net)\n"); long int num = 100; printf("sizeof long = %d\n", sizeof(num)); }

程序运行后,控制台输出如下:

42_C语言long.png

我们使用 sizeof 获取了 long 变量所占的字节数,结果,输出了 4,即 long 占 4 字节。

简写long变量

使用 long 定义 long 变量

#include <stdio.h> int main(int argc, char **argv) { printf("嗨客网(www.haicoder.net)\n"); long la = 100; printf("la = %ld\n", la); }

程序运行后,控制台输出如下:

43_C语言long.png

我们定义 long 变量时,也可以直接使用 long 就可以了,而没有使用 long int。

C语言long总结

C 语言的 long 的取值范围为 -2147483648 ~ 2147483647,long 占 4 个字节,同时 long 的格式化符为 %ld