【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/7/25 11:11:38 阅读更多 →
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/7/24 12:52:38 阅读更多 →
产品经理必懂的专业术语解析与实战应用

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

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

2026/7/25 4:17:43 阅读更多 →

最新新闻

Buzz容器编排:使用Kubernetes管理平台部署的终极指南

Buzz容器编排:使用Kubernetes管理平台部署的终极指南

Buzz容器编排&#xff1a;使用Kubernetes管理平台部署的终极指南 【免费下载链接】buzz A hive mind communication platform 项目地址: https://gitcode.com/GitHub_Trending/buzz14/buzz Buzz是一个强大的蜂巢思维通信平台&#xff08;A hive mind communication plat…

2026/7/25 21:23:11 阅读更多 →
Codex+Skills:AI智能体驱动的自动化科研工作流实战指南

Codex+Skills:AI智能体驱动的自动化科研工作流实战指南

如果你是一名科研工作者、学术写作者,或者正在为毕业论文、期刊投稿而挣扎,那么这篇文章就是为你准备的。我们不是在讨论一个模糊的“AI辅助写作”概念,而是要解决一个非常具体且高频的痛点: 如何系统性地利用AI工具,从海量文献中快速定位、下载、整理、分析,并最终高效…

2026/7/25 21:23:11 阅读更多 →
Anthropic 15亿美元版权和解案对AI数据合规的技术影响分析

Anthropic 15亿美元版权和解案对AI数据合规的技术影响分析

这次我们来看一个备受关注的技术行业事件——Anthropic的15亿美元版权和解案获得法官批准。这个案件不仅涉及AI公司与内容创作者之间的版权纠纷&#xff0c;更对AI模型训练的数据来源合规性提出了重要参考标准。从案件结果来看&#xff0c;15亿美元的赔偿规模在AI版权纠纷中属于…

2026/7/25 21:23:11 阅读更多 →
企业级AI解决方案:GitHub_Trending/cla/claude-skills规模化部署指南

企业级AI解决方案:GitHub_Trending/cla/claude-skills规模化部署指南

企业级AI解决方案&#xff1a;GitHub_Trending/cla/claude-skills规模化部署指南 【免费下载链接】claude-skills 345 Claude Code skills & agent skills & plugins (30 Agents, 70 custom commands, 330 skills, customizable references, scripts)for Claude Code, …

2026/7/25 21:23:11 阅读更多 →
ADC344x系列四通道14位ADC:高动态范围与低功耗设计解析

ADC344x系列四通道14位ADC:高动态范围与低功耗设计解析

1. 项目概述&#xff1a;ADC344x系列四通道14位ADC深度解析在雷达、多载波基站接收机或者高端测试仪器这类对信号完整性要求极高的系统中&#xff0c;选对一颗模数转换器&#xff08;ADC&#xff09;往往是整个项目成败的关键。我们常常面临一个看似矛盾的挑战&#xff1a;既要…

2026/7/25 21:23:11 阅读更多 →
Gemini 3.6 Flash 模型:轻量级多模态AI助手的核心能力与API实践

Gemini 3.6 Flash 模型:轻量级多模态AI助手的核心能力与API实践

这次我们来看 Google 最新发布的 Gemini 3.6 Flash 模型。作为 Gemini 3.5 Flash 的升级版本&#xff0c;这个模型在保持轻量级优势的同时&#xff0c;针对用户反馈进行了多项重要改进。如果你之前用过 3.5 Flash 版本&#xff0c;或者正在寻找一个平衡性能与成本的 AI 助手&am…

2026/7/25 21:22:10 阅读更多 →

日新闻

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制&#xff1a;kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档&#xff0c;但是相关网站浏览体验不好各种广告&#xff0c;各种登录验证&#xff0c;需要很多步骤才能下载文档&#xff0c;该脚本就是为了解决您的…

2026/7/25 0:00:35 阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述&#xff1a;为什么我们要“手撕”string类&#xff1f;在C的学习道路上&#xff0c;尤其是从C语言过渡到C的“初阶”阶段&#xff0c;string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了&#xff0c;、find、substr&#xff0c;几个操作符和函数…

2026/7/25 0:00:35 阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看&#xff0c;“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具&#xff0c;而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源&#xff0c;比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:00:35 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中&#xff0c;我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源&#xff0c;还是配置文件、证书等&#xff0c;都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下&#xff0c;但这…

2026/7/25 5:08:22 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP&#xff08;轻量级目录访问协议&#xff09;作为企业级身份认证的黄金标准&#xff0c;已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时&#xff0c;发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/25 5:13:53 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”&#xff0c;而是以可解释、可审计、可迭代的方式&#xff0c;赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 18:52:18 阅读更多 →

月新闻