新闻详情

新闻详情

首页 / 资讯中心 / 详情

Coursebook C数据类型速查表:10个必会关键字与类型详解

发布时间:2026/10/2 3:32:01来源:尧图网络
Coursebook C数据类型速查表:10个必会关键字与类型详解
Coursebook C数据类型速查表10个必会关键字与类型详解【免费下载链接】coursebookOpen Source Introductory Systems Programming Textbook for the University of Illinois项目地址: https://gitcode.com/GitHub_Trending/co/coursebook学习 C 语言的第一步就是吃透C 数据类型与关键字。本文基于开源系统编程教材CoursebookUniversity of Illinois CS 341 课程的官方教材introc/ 章节为新手整理了一份 C 数据类型速查表10 个必会的关键字与基本类型一次讲清char、int、long、float、const、void、struct等核心概念帮助你在编写 Linux 系统程序前打好地基 为什么选 Coursebook 学 CC 是系统编程的事实标准语言——Linux 内核、macOS 的 XNU 内核都用 C 编写。Coursebook 简介指出C 没有类、没有 RAII 等抽象让你有更多机会踩坑但也给了你更细粒度的控制能力。这份速查表覆盖 C 语言章节 中 language_facilities.tex 的核心内容建议配合阅读 一、基本数据类型速查表 ⚡C 的所有数据类型归根结底都是整数或浮点数的变体。以下是 C 标准规定的最小尺寸要求类型最小尺寸常见实际大小对齐要求char1 字节1 字节边界对齐short≥ 2 字节2 字节2 字节边界int≥ 2 字节4 字节2 字节边界long≥ 4 字节8 字节4 字节边界long long≥ 8 字节8 字节8 字节边界float—4 字节IEEE-754 单精度4 字节边界double—8 字节IEEE-754 双精度8 字节边界新手注意char表示恰好一个字节的数据unsigned char与signed char尺寸永远相同——这对所有类型都成立见 language_facilities.tex#L533-L550。需要精确的固定宽度类型使用stdint.h中的int8_t、int16_t、int32_t、int64_t加u前缀即无符号版本可移植性更好。二、10 个必会关键字详解 1.const编译期的只读承诺告诉编译器这个数据应保持恒定。但记住这只是编译器层面的限制——通过指针强转仍可绕过而系统写保护内存才是真正不可写的language_facilities.tex#L34-L59。const int i 0; // 等价于 int const i 0 const char *const str hi; // 常量指针指向常量字符串2.char一切数据的原子单位C 字符串就是一串以 NUL 字节0x00结尾的char。例如字符串Hi实际需要3 字节[H] [i] [\0]——忘记结尾 NUL 字节是新手最常犯的 bugcommon_bugs.tex#L112-L115。3.int最常用的整数int main(void)中的int就是它——声明函数返回类型。在绝大多数机器上为 4 字节约定return 0表示成功。4.short至少 2 字节对齐到 2 字节边界即地址必须能被 2 整除。5.long至少 4 字节在 64 位 Linux 上通常是 8 字节。书中指针算术练习就定义了long *long_; // sizeof(long) 8introc.tex#L166-L170。6.float与doubleIEEE-754 浮点float是单精度4 字节double是双精度8 字节两者都遵循 IEEE-754 标准。7.void双重含义的关键字函数上下文void foo(void)表示不接受参数、无返回值通用指针void *只是一个内存地址是不完全类型——不能解引用但可无强转地转换为任何对象指针malloc的返回值就是它8.unsigned无符号修饰符强制变量表现为无符号。unsigned short uns -127;这类写法会触发补码行为右移时补零而非符号扩展。9.struct组合多个类型C 结构体是连续内存区域成员像独立变量一样访问。注意成员之间可能有填充字节以保证内存对齐language_facilities.tex#L368-L386struct hostname { const char *port; const char *name; const char *resource; };真实案例网络编程中解析 TCP 头、IP 数据报就全靠struct如下图的 TCP 报文头10.typedef给类型起别名最常用于简化struct写法也提供底层类型抽象——将来想从float换成double只需改一处 typedeftypedef float real; typedef struct link link_t;三、进阶关键字速记 关键字一句话记忆位置sizeof编译期求值的字节数运算符language_facilities.tex#L304-L344static三种含义文件内可见 / 静态存储期 / 数组参数承诺language_facilities.tex#L346-L366volatile禁止编译器优化掉多进程/多线程必备language_facilities.tex#L506-L524extern声明变量定义在其他源文件language_facilities.tex#L124-L141restrict承诺内存区域不重叠language_facilities.tex#L264-L279⚠️常见陷阱sizeof(str1)char[]数组是 11而sizeof(str2)char*指针是 8——用 sizeof 求字符串长度会踩坑四、配套学习资源 关键字与数据类型完整原文language_facilities.tex常见 C 函数printf、fgets、string.hcommon_c_functions.texC 内存模型图解c_memory_model.tex指针详解与算术规则pointers.tex常见 bug 分析malloc 尺寸错误、NUL 字节common_bugs.tex逻辑与程序流错误logic_and_program_flow_mistakes.tex项目构建说明CONTRIBUTING.md总结一张表记住 10 个关键字 ✅#关键字/类型核心用途1char恰好 1 字节字符串基础2short至少 2 字节整数3int最常用整数通常 4 字节4long至少 4 字节64 位系统常为 8 字节5float/doubleIEEE-754 单/双精度浮点6const编译器层面的只读约束7void无类型 / 通用指针8unsigned无符号算术修饰9struct连续内存的组合类型10typedef类型别名与抽象掌握这份 C 数据类型速查表你已具备阅读 Linux 系统调用代码和 Coursebook 后续进程、线程、死锁章节deadlock/deadlock.tex、threads/threads.tex的基础下一步就该打开编译器动手实践了 【免费下载链接】coursebookOpen Source Introductory Systems Programming Textbook for the University of Illinois项目地址: https://gitcode.com/GitHub_Trending/co/coursebook创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Granger因果检验与ECM误差修正模型:从平稳性到协整的完整建模指南 2026/10/2 5:18:55

Granger因果检验与ECM误差修正模型:从平稳性到协整的完整建模指南

简介:这份专题资料聚焦 Granger 因果关系与误差修正模型(ECM)在时间序列分析中的应用,以中国电力消费与经济增长关系为实证场景,适合经济学、能源经济领域的研究生及需要开展协整分析的研究人员。内容涵盖时间序列平稳…

阅读更多 →
Paperclip:用自然语言让浏览器自动干活的AI工具实战解析 2026/10/2 5:18:55

Paperclip:用自然语言让浏览器自动干活的AI工具实战解析

还没开工就先把丑话说在前头:如果你以为 Paperclip 只是办公桌上那个夹文件的小铁片,那这篇文章可能会让你意外。但如果你正好在做数据分析、需要监控网页变化、或者想让浏览器自动跑一些重复劳动,那 Paperclip 是个值得你花半小时研究一下的…

阅读更多 →
用Python和pygame手把手实现贪吃蛇小游戏:从环境搭建到图片音效全解析 2026/10/2 5:18:55

用Python和pygame手把手实现贪吃蛇小游戏:从环境搭建到图片音效全解析

之前在给学生做 Python 入门课程时,经常会遇到一个很尴尬的节点:控制台计算器写熟了、列表字典也会用了,但一旦要做一个“真正的程序”,很多人就卡住了。后来我发现,用pygame写一个贪吃蛇小游戏,几乎是最容…

阅读更多 →
系综平均与时间平均:分子动力学、集平均与误差棒实操 2026/10/2 5:18:48

系综平均与时间平均:分子动力学、集平均与误差棒实操

1. 别急着按计算器:系综平均到底在平均什么前阵子有个做分子模拟的朋友来找我,说他跑了三条轨迹,同一个体系、同一套力场,算出来的扩散系数差了百分之三十,问我是不是机器出了问题。我看了眼他的输出文件就明白了——他…

阅读更多 →
DeepSeek Harness 桌面端全解析:安装配置与自动化任务编排实战 2026/10/2 5:18:48

DeepSeek Harness 桌面端全解析:安装配置与自动化任务编排实战

代码跑着跑着,突然发现 DeepSeek Harness 弹了个窗口出来。当时我第一反应是:这玩意儿不是一直住在终端里的吗?什么时候偷偷摸摸做了个桌面端?带着好奇心,加上一点“不扒干净不舒服”的职业病,我把这个叫De…

阅读更多 →
ZeRO-3 与 MoE 组合实战:大模型训练显存优化与稀疏激活配置指南 2026/10/2 5:18:48

ZeRO-3 与 MoE 组合实战:大模型训练显存优化与稀疏激活配置指南

1. 为什么 ZeRO-3 和 MoE 值得放在一起聊大模型训练走到今天,显存基本是所有人绕不过去的第一道坎。你手里可能只有几张消费级卡,或者一个八卡 A100 节点,但想训的模型动辄几十亿、上百亿参数。单卡放不下、数据并行又浪费显存、流水线并行写…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉