【C语言学习笔记】——数据类型
数据类型基本类型整数类型标准整型浮点类型枚举类型声明基本语法void类型派生类型在C语言中数据类型可以分为四种类型基本类型、枚举类型、void类型和派生类型。它们决定了变量占用的内存大小、存储方式和能执行的操作。基本类型基本类型是算术类型包括整数类型、浮点类型。整数类型标准整型int整型有符号占用4字节内部最高位为符号位0正1负取值范围-2,147,483,648 ~ 2,147,483,647unsigned int无符号整型占用4字节32位全部用来记值。取值范围0 ~ 4,294,967,295。char字符型存放单个字符或很小的整数占用1字节。unsigned char无符号字符型。short全称为short int短整型占用2字节有符号范围-32,768 ~ 32,767无符号范围0 ~ 65,535。long全称为long int长整型占用4字节windows或8字节linux。普通整数直接用int范围足够处理速度通常最快和 CPU 字长匹配是默认选择。需要省内存或者数值很小用short比如处理像素坐标0-1023、存储学生年龄等用 short 节省一半空间。但要注意运算时它会被自动提升为 int所以赋值回去可能需要强制转换。浮点类型float单精度 占用4字节布局为 | 1 位符号 | 8 位指数 | 23 位尾数小数部分 |符号位0正1负。指数位用移码存储实际指数存储的8位二进制值换算为十进制-127。尾数位存储小数部分即小数点后面的位。“隐含前导1”如果我们将十进制数换算成1.xxxxxx × 10^n形式小数点前默认有一个数但我们在二进制中换算成同样的类型小数点前面永远有个1在二进制中非零数字只有1。标准化后小数点前一定是1所以1没有必要存储。所以存储float型数首先将数换算成二进制标准形式类似1.01101 × 2^-3其中-3是指数01101位尾数部分后面再补18个0填满23位。double双精度 占用8字节布局为| 1 位符号 | 11 位指数 | 52 位尾数小数部分 |指数从 8 位扩到 11 位尾数从 23 位扩到 52 位。long double 扩展精度极高精度需求在不同系统下位布局不同。枚举类型声明枚举用来定义一组具有离散值的常量。 枚举类型用于为程序中一组相关常量取名字。语法格式enum 枚举名 {枚举元素1,枚举元素2,……};比如enumcolor{RED,GREEN3,BLUE};第一个枚举成员的默认值为整型的0后续的值在前一个成员的基础上加1初始值我们也可以指定。这里举例的GREEN3则输出值为RED0,GREEN3,BLUE4。基本语法三种方式定义枚举变量1、先定义枚举类型再定义枚举变量enumDAY{MON1,TUE,WED,THU,FRI,SAT,SUN};enumDAYday;特点enum DAY成了一个有名字的类型标签可以在后面的代码中反复使用。enumDAYtoday;enumDAYtomorrow;enumDAYweek[7];这是最清晰的写法当你需要在多个函数、多个文件里使用同一种枚举类型时首选这种方式。结构体、联合体的定义也是这种风格。2、定义枚举类型的同时定义枚举变量enumDAY{MON1,TUE,WED,THU,FRI,SAT,SUN}day;特点类型标签enum DAY仍然被定义因此后面依然可以用enum DAY声明其他变量同时立即声明了变量day。本质上和第 1 种没有区别只是少写了一行enum DAY day;。3、省略枚举名称直接定义枚举变量enum{MON1,TUE,WED,THU,FRI,SAT,SUN}day;特点没有标签名enum是匿名的。因此你无法再声明其他同类型的变量只能使用已经定义的day。这种形式适合只想要一组整数常量此时甚至可以不定义变量写成enum { MAX 100 };。定义一个唯一的变量且不需要在其他地方用到该类型。C的枚举变量本质上还是int。void类型表示“没有返回值”、表示“没有参数”、表示“任意类型的指针”。函数返回为空当函数只是执行一个动作不需要返回任何值返回值就写成void。函数参数为空如果void位于函数参数的位置int func(void)表示函数没有参数传任何参数都会报错。int func()表示函数未指定可以接受任意数量、任何类型的参数。指针指向voidvoid * 是C语言中最灵活的指针类型可以指向任意类型的数据。代表的是对象的地址而不是类型。派生类型在基本类型的基础上通过组合或推导构造出来的新类型。主要包含五种数组、指针、结构体、联合体、函数类型。后续单独列出来。

相关新闻

GraphPipe vs 传统部署方案:为什么选择GraphPipe实现机器学习模型部署?

GraphPipe vs 传统部署方案:为什么选择GraphPipe实现机器学习模型部署?

GraphPipe vs 传统部署方案:为什么选择GraphPipe实现机器学习模型部署? 【免费下载链接】graphpipe Machine Learning Model Deployment Made Simple 项目地址: https://gitcode.com/gh_mirrors/gr/graphpipe GraphPipe是GitHub加速计划&#xff…

2026/10/20 10:46:02 阅读更多 →
UI-TARS 源码解析 #10:parse_action 源码解析:如何用 AST 安全解析模型生成的函数调用?

UI-TARS 源码解析 #10:parse_action 源码解析:如何用 AST 安全解析模型生成的函数调用?

在上一篇文章中&#xff0c;我们对 action_parser.py 做了整体总览。 它的核心作用是把模型输出的文本&#xff1a; Thought: 我需要点击搜索框。 Action: click(point<point>850 120</point>)转换成程序可以理解的结构化动作&#xff1a; {"action_type"…

2026/10/19 15:21:25 阅读更多 →
产品经理必懂的专业术语解析与实战应用

产品经理必懂的专业术语解析与实战应用

1. 产品经理专业术语解析&#xff1a;指尖下的世界在互联网产品圈混了十年&#xff0c;最深的体会就是&#xff1a;产品经理这个岗位&#xff0c;说人话比会术语更重要。但现实是&#xff0c;我们每天都被各种专业名词轰炸——从PRD到MVP&#xff0c;从KANO到AARRR&#xff0c;…

2026/10/19 23:39:09 阅读更多 →

最新新闻

Django+Vue宠物商店实战:库存原子扣减、订单状态机与RBAC权限落地

Django+Vue宠物商店实战:库存原子扣减、订单状态机与RBAC权限落地

简介&#xff1a;这是一套基于PythonDjangoVue.js全栈技术实现的宠物商店管理系统源码&#xff0c;专为计算机相关专业本科生毕业设计与课程设计打造&#xff0c;已通过导师审核并获98.5分高分评价&#xff0c;适用于毕设选题参考、项目实战训练及期末大作业开发。资源包共396个…

2026/10/20 10:46:38 阅读更多 →
零基础本地部署DeepSeek-R1:Ollama三步跑通与强化学习原理解析

零基础本地部署DeepSeek-R1:Ollama三步跑通与强化学习原理解析

简介&#xff1a;这份PDF图解资料面向大模型初学者、技术爱好者及希望本地部署应用的研发人员&#xff0c;系统讲解DeepSeek大模型的本地部署方法与核心技术原理。内容从本地部署的三个实操步骤切入&#xff0c;逐步展开LLM基础概念、Transformer架构、预训练、监督微调与强化学…

2026/10/20 10:46:38 阅读更多 →
交通标志检测实战:YOLO数据体检与训练避坑指南

交通标志检测实战:YOLO数据体检与训练避坑指南

简介&#xff1a;面向交通标志检测与目标检测模型训练的数据资源包&#xff0c;包含约7000张已标注图像数据和YOLO标签文件&#xff0c;覆盖红绿灯等12个目标类别&#xff0c;并完成7:3训练集与验证集划分&#xff0c;可直接用于YOLOv5、YOLOv8等常见检测框架的模型训练与精度评…

2026/10/20 10:46:38 阅读更多 →
用C/C++写一份“无毒”表白代码:从控制台动画到Windows图形窗口

用C/C++写一份“无毒”表白代码:从控制台动画到Windows图形窗口

简介&#xff1a;使用C语言&#xff08;含C写法&#xff09;实现的控制台表白小项目&#xff0c;面向编程初学者、嵌入式/系统开发入门者&#xff0c;以及想用代码制造浪漫的同学&#xff1b;它以极简源码演示了如何用循环、延时、屏幕输出来生成动态文字和闪烁效果&#xff0c…

2026/10/20 10:46:38 阅读更多 →
汽车电动助力转向EPS系统建模仿真、二自由度+上下转向柱等、附参考文献

汽车电动助力转向EPS系统建模仿真、二自由度+上下转向柱等、附参考文献

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 &#x1f381…

2026/10/20 10:46:38 阅读更多 →
ZooKeeper Java API 实战:节点CRUD、监听与权限控制

ZooKeeper Java API 实战:节点CRUD、监听与权限控制

之前维护某个调度系统时&#xff0c;ZooKeeper 几乎撑起了所有核心链路——分布式锁、任务节点注册、配置下发&#xff0c;哪一环离了它都容易出事。当时最头疼的反而不是 ZK 集群本身&#xff0c;而是原生 Java API 那套写起来别扭的姿势&#xff1a;Session 状态要自己盯、Wa…

2026/10/20 10:45:37 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型&#xff08;GMM&#xff09;的语音识别系统&#xff0c;很多人第一反应就是一堆数学公式&#xff0c;觉得门槛很高。但如果你真的在MATLAB里把它落地跑通&#xff0c;会发现核心其实就是三件事&#xff1a;把声音变成特征向量&#xff0c;用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人&#xff0c;但落到具体操作上&#xff0c;无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程&#xff1a;对图像做反白、改调色板、彩色转灰度&#xff0c;最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词&#xff0c;你会发现一个很有意思的现象&#xff1a;每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型&#xff0c;有人指的是运动控制系统&#xff0c;还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →