我是靠谱客的博主 孤独哈密瓜,最近开发中收集的这篇文章主要介绍C语言中的整型,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我们都知道,C语言中,int的字节长度和编译器有关系,所以,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则:
1、长整形(long int)不一定比整型长;
2、整型不一定比短整型(short int)长;
3、short int至少应为16位(2字节);
4、long int至少应为32位。

下面总结了不同位数机器上的各种类型的字节长度:
16位编译器
char :1个字节(-128~127)
char*(即指针变量): 2个字节
short (int) : 2个字节
int: 2个字节
unsigned int : 2个字节
float: 4个字节
double: 8个字节
long(int): 4个字节
long long: 8个字节
unsigned long: 4个字节

32位编译器
char :1个字节
char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 4个字节
long long: 8个字节
unsigned long: 4个字节

64位编译器
char :1个字节
char*(即指针变量): 8个字节
short int : 2个字节
int: 4个字节
unsigned int : 4个字节
float: 4个字节
double: 8个字节
long: 8个字节
long long: 8个字节
unsigned long: 8个字节

还有两个类型修饰符signed(有符号)和unsigned(无符号),就拿int来说,32位编译器下,int(如果不加变量修饰符的话默认就是signed int)的范围就是 -32768 ~ 32767;unsigned int 的范围就是 0~65535。

在这里我提下这个类型–size_t,在阅读redis源码的时候遇到过,
size_t是在头文件stddef.h中定义的,size_t的位数有具体架构而定,32位架构可以定义为 typedef unsigned int size_t(4个字节),64位架构中可以定义为 typedef unsigned long size_t (8个字节),要注意的是无符号的。

今天就先写到这,以后有别的再补充~ C语言真奇妙

最后

以上就是孤独哈密瓜为你收集整理的C语言中的整型的全部内容,希望文章能够帮你解决C语言中的整型所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部