C语言学习笔记04

变量运算规则

自动转换(隐式转换):系统自动变
强制转换(显式转换):你用 (类型) 命令它硬变

default = 剩下所有没写的情况(分支)

default子句是可选的。同时,位置也是灵活的。当没有匹配的case时,执行default语句。

case穿透:

执行完此case的执行语句以后,
情况1:如果遇到break,则执行break并跳出当前的switch-case结构
情况2:如果没有遇到break,则会继续执行当前case之后的其它case中的执行语句。--->case穿透...直到遇到break关键字或执行完所有的case及default的执行语句,跳出当前的switch-case结构.

获取三位数的个位,十位,百位

1. 取个位
用 % 对 10取模,就能得到最后一位
个位 = n % 10;
// 例:123 % 10 = 3
2. 取十位
先除以 10,把个位 “砍掉”,再对 10 取余
十位 = (n / 10) % 10;
// 例:123 / 10 = 12,12 % 10 = 2
3.取百位 
n / 100;
// 例:123 / 100 = 1
百位 = n / 100;
// 例:123 / 100 = 1

C语言中堆与栈是什么意思?

特性 栈 Stack 堆 Heap
管理者 系统自动 程序员手动
分配 自动创建 malloc 手动
释放 函数结束自动销毁 必须 free
空间大小
生命周期 随函数 全程直到 free
泄漏问题 不会泄漏 容易内存泄漏

一句话终极理解

栈:酒店房间
进去自动分配,退房自动清空,不用你管。
堆:租房
自己签约 (malloc),不住必须自己退租 (free),
不退就一直占用 = 内存泄漏。

内存泄漏

内存程序一直占着,不用也不还,就是内存泄漏

posted @ 2026-05-06 17:11  硅基浇筑者  阅读(9)  评论(0)    收藏  举报