当前位置: 首页 > article >正文

C语言中数据类型

一、C 语言中数据类型

在这里插入图片描述

基本数据类型:

  • 整型(int):用于存储整数,如:1、2、3等。
  • 字符型(char):用于存储单个字符,如:‘a’、‘b’、'c’等。
  • 浮点型(float):用于存储小数,如:1.0、2.5、3.14等。
  • 双精度浮点型(double):用于存储更高精度的小数,如:1.000、2.567、3.1415926等。

2、构造数据类型:

  • 数组(array):用于存储同类型数据的集合,如:int arr[5] = {1, 2, 3, 4, 5};
  • 结构体(struct):用于存储不同类型数据的集合,如:
struct student {
    char name[20];
    int age;
    float score;
};
  • 枚举类型(enum):用于定义一组有名字的整数常量,如:
    •  enum week { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday };
      

3、指针类型(pointer):用于存储变量或函数的内存地址,如:int *p;

二、不同数据类型占用字节数

在这里插入图片描述

  • 1、不同数据类型中,主要是int 类型变化比较大, int 型数据是根据编译器的位数来的。一个字节(Byte)是8位(bit). 在早期计算机系统中,整数类型的大小经常与处理器的字长(word size)相对应。随着计算机技术的发展,处理器的字长不断增加,在32位系统上,它通常是4个字节(4*8bit=32bit);而在某些64位系统上int也维持4个字节,是为了兼容32位。

  • 2 、另一个是指针类型,因为指针类型保存的是地址,所以这个大小必须是能一个保存最大地址值。所以指针变量的大小通常是系统位数的最大值,这种设计确保了指针变量能够在系统的整个内存范围内进行寻址,从而支持程序的正常运行。

  • 3、同样的编译器,short字节小于等于 int. long字节大于等于int.

  • 4、如果在long类型和int类型占用空间相同的机器上编写代码,当确实需要32位的整数时,应使用long类型而不是int类型,以便把程序移植到16位机后仍然可以正常工作。类似地,如果确实需要64位的整数,应使用long long类型。

#include <stdio.h>   
  
int main() {   
    printf("Size of char: %zu bytes\n", sizeof(char));
  
    printf("Size of int: %zu bytes\n", sizeof(int));   
    printf("Size of long: %zu bytes\n", sizeof(long));
  
    printf("Size of long long: %zu bytes\n", sizeof(long long));
  
    printf("Size of float: %zu bytes\n", sizeof(float));
  
    printf("Size of double: %zu bytes\n", sizeof(double));  
    printf("Size of pointer: %zu bytes\n", sizeof(void*));  
    return 0;  
}


在这里插入图片描述

三、不同数据类型所能表示的范围在这里插入图片描述

在这里插入图片描述

  • float 类型的有效位数一般是6到7位,后面的都是计算机随机生成的。

http://www.kler.cn/a/308068.html

相关文章:

  • NVR录像机汇聚管理EasyNVR多品牌NVR管理工具/设备:大华IPC摄像头局域网访问异常解决办法
  • 4-6-2.C# 数据容器 - ArrayList 扩展(ArrayList 注意事项、ArrayList 存储对象的特性、ArrayList 与数组的转换)
  • 第三十一天|贪心算法| 56. 合并区间,738.单调递增的数字 , 968.监控二叉树
  • 深入解析贪心算法及其应用实例
  • 如何进行产线高阶能耗数据的计算和可视化?
  • Linux screen和cscope工具使用总结
  • PHP:强大的Web开发语言
  • nginx实现https安全访问的详细配置过程
  • Spring Boot-RESTful API相关问题
  • 开源 AI 智能名片链动 2+1 模式 O2O 商城小程序在社群活动中的应用与时机选择
  • 海外云手机怎么实现TikTok多账号防关联?
  • 【iOS逆向与安全】frida-trace命令大全
  • AI 时代程序员的应变之道
  • 数据分析-25-时间序列预测之基于keras的LSTM+注意力机制预测风速
  • MySQL —— 视图
  • Serverless 安全新杀器:云安全中心护航容器安全
  • 图神经网络模型扩展5--3
  • 完全背包问题(优化版二维)
  • 在 Red Hat 上安装 SQL Server 2022 并创建数据库
  • Java代码实现Httpclient调用-验证码登录拦截获取到列表数据写入数据库
  • 昇腾服务器(Atlas800系列)部署embedding和rerank模型
  • USBCANFD卡再汽车电子行业中得应用
  • 【从问题中去学习k8s】k8s中的常见面试题(夯实理论基础)(三十二)
  • python学习第十节:爬虫基于requests库的方法
  • python开发目录扫描工具
  • Vue3.5+ 响应式 Props 解构