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

再探C语言(1)

温馨提示
学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.kler.cn/a/593062.html

相关文章:

  • 4.1-4 SadTalker数字人 语音和嘴唇对应的方案
  • 【Go语言圣经2.6】
  • 【责任链模式的多种实现方式及其应用】
  • docker需要sudo才能使用
  • 【canvas】一键自动布局:如何让流程图节点自动找到最佳位置
  • 目标检测YOLO实战应用案例100讲-基于毫米波雷达与摄像头协同的道路目标检测与识别(续)
  • 【Linux笔记】动态库与静态库的理解与加载
  • 轻量级模块化前端框架:快速构建强大的Web界面
  • Grounding DINO: 将DINO与接地预训练结合用于开放集目标检测
  • OPPO手机怎么更改照片天空?照片换天空软件推荐
  • 【开源宝藏】30天学会CSS - DAY2 第二课 Loader Ring Demo
  • 洛谷 P3986 斐波那契数列
  • MySQL 多列 IN 查询详解:语法、性能与实战技巧
  • 抖音视频数据获取实战:从API调用到热门内容挖掘
  • Vue:Vue2和Vue3创建项目的几种常用方式以及区别
  • Unity实现连连看连线效果
  • SpringBoot前后端不分离,前端如何解析后端返回html所携带的参数
  • LLM(5):了解 GPT 架构
  • 2024年数维杯数学建模A题多源机会信号建模与导航分析解题全过程论文及程序
  • 合并两个有序数组(js实现,LeetCode:88)