㈠ long long 在c语言中是什么类型
“longlongint”在C语言中是64位长整型数据类型。longlong是属于int型,一般来讲,是longint型大小的两倍,int型的4倍。
“longlongint”在C语言中可以简写为“longlong”,作为“long”和“int”数据类型的强化版数据类型,它能支持的整数范围是-2^63到2^63-1。而先前的“long”是32位长整型数据类型,整数范围仅能支持到-2^31至2^31-1。
“longlongint”和“unsignedlonglongint”都是在C99标准中才被引进的。
(1)c语言long扩展阅读:
需要注意:
longlong是一个后来加上去的数值类型,也就是说非常老的编译器是不支持这个数据类型的(如VC++6.0)。
C99标准引入的主要新功能:
1、对编译器的限制增加了,比如每行源代码至少需要4095字节,变量和函数名需要63字节(extern最多需要31字节)。
2、添加了新的关键字restrict,inline,_Complex,_Bool。
3、支持longlong、longdouble_Complex、float_Complex等类型。
4、一个不确定长度的数组。数组的长度是一个变量。当你声明一个类型时,你写一个int[*]。但就效率和执行而言,这并不是一种新类型。所以你不能在全局或结构联合中使用它,如果你使用类似的东西,goto语句是受约束的。
5、与C89标准相比,C99引入了一种新的结构/数组初始值设定项,名为指定初始值设定项。
6、支持十六进制浮点数描述。
7、添加了一个内置的本地静态字符数组变量,它可以用于获取当前函数的函数名。
8、函数的默认返回类型是int型。
㈡ C语言long是几个字节
C语言中long是4个字节,是一种数据类型,有两种表现形式:有符号和无符号。
在有符号中,long的表示数的范围为:-2147483648~2147483647
在无符号中,long的表示数的范围为::0~4294967295
(2)c语言long扩展阅读:
整型变量可分为以下几类:
基本型
类型说明符为int,根据计算机的内部字长和编译器的版本,在内存中可能占2或4个字节(通常分别在16位机和32位机上),其取值为基本整常数。
短整型
类型说明符为short int或short,在内存中占2个字节,其取值为短整常数。
长整型
类型说明符为long int或long,在内存中占4个字节,其取值为长整常数。
参考资料来源:
网络-long
网络=整型
㈢ C语言中。。有long long a;这种定义吗
有的,但只是在C99标准中,我觉得现在中国教材还是C89标准吧。long是32位宽,占4个字节,long long通常被定义成 64 位宽,也就可以实现了在32位机器上可以扩展8字节的数据。其实我觉得吧,long不够用的话,用unsigned long就好了嘛
㈣ c语言long和long long有什么区别
long long在win32中是确实存在,长度为8个字节;定义为LONG64。
为什么会出现long int呢,在win32现在系统中,长度为4;在历史上,或者其他某些系统中,int长度为2,是short int。
即便是long long,在TI的有款平台中,长度为5。
也就是说,每种类型长度,需要sizeof才知道,如果可能,最好用union看看里面的数据,可以消除一些类型的假象长度。
㈤ C语言long是什么意思
long 是C语言的一个关键字,代表一种数据类型,中文为长整型。
㈥ 关于C语言long的用法
long关键字表示一种整型数据类型。它的用法与int、float、double等数据类型是一样的。在输入、输出时,一般控制符使用%l
#include<stdio.h>
intmain()
{
longl;
scanf("%l",&l);
printf("%l",l);
return0;
}
㈦ 在C语言中(long *)是什么意思
long默认为长整数类型
*为指针操作符,long *就是指向长整数类型的指针
然后(long *),我想后面应该还跟着一个变量,(long *)的意思就是强制类型转换,将后面的那个变量视为一个指向长整数类型的指针
㈧ C语言中输出long long型数据怎么输出
C语言中输出long long型数据使用%lld格式输出的方法:
1、 long long 是C99标准对整型类型做的扩展,每个long long类型的变量占8字节,64位。其表示范围为-9223372036854775808~9223372036854775807。
2、long long 类型输出的时候,需要用printf函数,用%lld格式输出。 示例代码如下:
long long a = 1234;printf("a=%lld
", a)。
3、输出的各种可用于%d上的格式控制,均可用于%lld上,比如%10lld,表示输出占十位宽度等。
㈨ 关于C语言中的long long 的问题
signed char有符号字节,表示范围是-128~127,
unsigned char是无符号字节,表示范围是0~255。
long long是有符号长整形,表示范围是-2^63~2^63-1。
signed char,unsigned char都是显式声明的有符号/无符号,而char可能是二者其中之一,由编译器决定。就是说,如果你写char,有可能是signed的,也有可能是unsigned的。但是绝大多数编译器是默认为signed的。
值得注意的是,上面讲的是表示范围,但是无论是C还是C++,signedchar、unsignedchar、char是三种不同的类型。
出现这种情况可以归结为历史原因。早期C没有专用于算术运算的单字节整数类型,实现中也无法保证char使用什么符号(不同符号转换为超过一个字节的整数类型时各个硬件平台的效率有差异)。后来才追加signedchar和unsignedchar。其符号是implementation-defined。
例子:
#include<stdio.h>
intmain()
{
signedchara=255;
unsignedcharb=255;
charc=255;
longlongd=100000000000;
longe=100000000000;
printf("%d ",a);
printf("%d ",b);
printf("%d ",c);
printf("%lld ",d);
printf("%d ",e);
return0;
}
结果:
可以发现可以容纳的大小是不同的。
其中a,c,e发生了溢出,产生了不正确的结果。