再探C语言(1)

news/2025/3/25 7:53:12/

温馨提示
学C语言就像玩《掘地求升》——你以为懂了语法就能通关?
不!编译器会用铁锤教你做人!(╯‵□′)╯︵┻━┻

🐱Part 1:sizeofの跨平台迷惑行为

Q1. 不同环境下sizeof(int)的结果

运行环境结果(字节)本喵吐槽
9位单片机2这架构比我爷爷的算盘还古老
16位单片机2int和short在此拜了把子
32位x86 CPU4经典永不过时
64位x86 CPU4Intelの祖传秘方
32位Windows74微软:4是我的幸运数字
64位Windows74说好的64位呢?(╯°□°)╯︵┻━┻

冷知识
C标准规定sizeof(int) >= sizeof(short),具体大小全看编译器心情!
所以当同事说"我的int有8字节"时——他可能来自火星🌍


🐱Part 2:C语言概念の灵魂拷问

Q1. 三大命名法王の区别

类型特点作死案例
标识符程序员自创的变量名int 玛卡巴卡 = 233;
关键字C语言官方认证的VIP词汇if(else == 女朋友)
预定义标识符编译器自带的工具人#define 爱情 404

Q2. 运算符の抢座规则

  • 左结合:像食堂打饭排队,从左往右刮油水(a + b + c → (a+b)+c
  • 右结合:像霸道总裁壁咚,从右往左强势操作(a = b = 520 → a = (b=520)

Q3. 内存世界の户口调查

术语人话翻译迷惑行为
左值有房产证的内存地址int *p = &单身狗;
右值流浪的临时数据1314 = 520 + 794;
副作用函数偷偷改全局变量while(熬夜){头发--;}
未定义行为编译器の薛定谔警告arr[3] = 4;(可能召唤神龙)

🐱Part 3:编译过程の双标现场

语法检查 vs 语义检查

检查类型类比场景经典翻车案例
语法检查语文老师纠错别字inta a; → “你字都不会写?”
语义检查女朋友查聊天记录int age = "永远18"; → “你当我是傻子?”

终极总结(快拿去装X)

// 表达式 vs 语句 vs 代码块
printf("%d", 1+1);    // 表达式:产出一个值
printf("喵");         // 语句:带分号的完整动作
{ system("shutdown"); } // 代码块:搞事情全家桶

http://www.ppmy.cn/news/1582439.html

相关文章

【Java篇】静动交融,内外有别:从静态方法到内部类的深度解析

文章目录 类和对象(下)八、static 关键字8.1 静态变量8.1.1 概念8.1.2 访问方式 8.2 静态方法8.2.1 概念8.2.2 访问限制 8.3 static成员变量初始化8.4 静态成员的使用场景 九、代码块8.1 代码块概念以及分类8.2 普通代码块(局部代码块&#x…

C++23新特性详解:迈向更现代化的C++

C23 是 C 标准的下一个重要更新版本,虽然不如 C20 那样具有颠覆性,但它依然带来了许多值得开发者关注的改进和新增特性。本文将详细介绍 C23 的关键新特性,并通过代码示例帮助读者快速掌握它们的用法。 一、核心语言特性改进 1. if consteva…

VS2019 快捷键及各项功能汇总

一、常用快捷键【代码编辑类】 CtrlKD 格式化当前文档代码 CtrlKF 格式化选中代码 CtrlKC 注释当前选中行 CtrlKU 取消对选中行的注释 CtrlU 转换为小写 CtrlShiftU 转换为大写 Alt上下箭头↑↓ 将当前行上移或下移 【跳转查找…

Word中公式自动标号带章节编号

(1)插入一行三列的表格,设置宽度分别为0.5,13.39和1.5,设置纵向居中,中间列居中对齐,最右侧列靠右对齐,设置段落如下 (2)插入域代码 【Word】利用域代码快速实…

aws(学习笔记第三十四课) dockerized-app with asg-alb

文章目录 aws(学习笔记第三十四课) dockerized-app with asg-alb学习内容:1. 整体架构1.1 代码链接1.2 代码手动修改部分1.2.1 rds_stack.py1.2.2 efs_stack.py1.2.3 asg_stack.py1.2.4 userdata.sh 1.2 整体架构 2.代码解析2.1 全体app.py2.2 NetworkStatck网络2.3…

Scala语言的私有云

Scala语言的私有云 在当今数字化时代,云计算已经成为企业信息技术架构的重要组成部分。无论是大型企业还是初创公司,都在不断探索如何利用云计算提升业务效率、降低成本。然而,随着数据隐私和安全性问题的日益凸显,越来越多的企业…

LLM - 重排序(Rerank)

文章目录 引言RAG的困惑传统 RAG流程中存在的问题: 召回率与上下文窗口Rerank两阶段检索为什么选择两阶段架构重排序的核心价值使用Rerank的意义重排序的价值权衡:为何慢却不可或缺?双编码器的局限性:效率与精度的矛盾重排序模型的…

2025年01月03日微创网络(杭州银行外包)前端面试

目录 html 块级元素和行内元素有哪些阴影的几个属性垂直水平居中的实现方式定位的几种方式盒子模型的方式js的数组方法有哪些vue2 vue3 区别vuex哈希路由和浏览器路由的区别浏览器缓存的几个方式react hooks的优势react 组件传值vue 组件传值如何进行性能优化前端监控get post…