Linux中的数据类型

本文详细介绍了C语言中的数据类型,包括char、short、int、long、longlong以及它们在不同系统(32位和64位)下的内存占用情况,还涵盖了浮点类型和验证方法。
摘要由CSDN通过智能技术生成

数据类型

一、计算机中内存单位

  1. 1.bit : bit位只能存放 0 / 1
  2. byte 字节 = 8 bit
  3. 1kb = 1024byte
  4. 1mb = 1024kb
  5. 1gb = 1024mb

二、数据类型的种类

C语言中有各种不同的数据类型,使用不同数据类型的定义变量时,可以从内存中申请不同大小的内存空间,具体使用哪种数据类型定义变量,要看你存储变量的值的类型。
在这里插入图片描述

1、char 字符类型

  1. char : 内存中占1个字节,8个bit,字符’a’ ,‘b’ ,‘c’…
  2. signed char :有符号字符类型 signed可以忽略不写,数据位范围[-128~+127]
  3. undigned char:无符号类型,数据位范围[0~+255]
  4. 在32位和64位操作系统中,char类型的变量在内存中都是占用1字节的空间。
    在这里插入图片描述

2、short(短整型)

  1. short :内存中占用2个字节,16个bit,主要用于存放小型数据
  2. signed short :有符号字符类型,signed可以忽略不写,数据位范围[ -32768 ~ 32767]
  3. undigned short:无符号类型,数据位范围[0 ~ 65535 ]
  4. 在32位和64位操作系统中,short类型的变量在内存中都是占用2字节的空间。
    在这里插入图片描述

3、int (整型)

  1. int :内存中占用4个字节,32个bit,主要用于存放数字,有无符号之分
  2. signed int :有符号字符类型,signed可以忽略不写,数据位范围[ -2147483648 ~ +2147483647]
  3. undigned short:无符号类型,数据位范围[0 ~ +4294967295 ]
  4. 在32位和64位操作系统中,int类型的变量在内存中都是占用4字节的空间。
    在这里插入图片描述

4、long (长整型)

在32位系统中占用4个字节,在64位系统中占用8个字节

5、long long (长长整型)

在32位和64位操作系统中,long logn类型的变量在内存中占用8字节的空间。

6、浮点类型数据储存

  1. float 单精度浮点类型,占用4字节
  2. double 双精度浮点类型,占用8字节

7、64位系统,使用以下代码进行验证类型占用的字节

#include <stdio.h>

int main(int argc, const char *argv[])
{
 printf("short type size = %ld\n", sizeof(short));
 printf("int type size = %ld\n", sizeof(int)); 
 printf("long type size = %ld\n", sizeof(long));
 
 return 0;
}

如果是32位系统,使用以下代码进行验证:
gcc 文件名 -m32 —> 编译生成32位可执行程序
例如:gcc hello.c -m32 —> 编译生成32位可执行程序

#include <stdio.h>

int main(int argc, const char *argv[])
{
 printf("short type size = %d\n", sizeof(short));
 printf("int type size = %d\n", sizeof(int));
 printf("long type size = %d\n", sizeof(long));
  printf("long long type size = %d\n", sizeof(long long));

 return 0;
}
  • 18
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值