0
点赞
收藏
分享

微信扫一扫

【C语言基础】:内存操作函数

菜头粿子园 2天前 阅读 3

一 保留字
25个关键字
在这里插入图片描述

二 运算符
硬件的方向是物理
软件的结局是数学
算法: 解决问题的过程
在这里插入图片描述
1 优先级在这里插入图片描述
2 二元运算符
1> 若常量无显式声明,则后面运算时会自动类型转换
2> 位移运算符 右值必须为无符号整数,或可以转换的无显式声明的类型常量
3> 如果是非常量表达式位移, 优先将无显式类型的常量左值转型

3 位运算符
4 自增
1> 只能作为独立语句,
2> 不可做表达式

注意:
1 表达式通常为求值,语句为一个行为
2. 表达式可作为语句,反之不可以

5 指针
内存地址与指针不同
1>内存地址: 内存中每个字节存储单元的唯一编号
2>指针: 是个实体
3> 指针分配内存空间
4>指针是用来保存地址的整型变量
&&&& 取地址运算符, 获取对象地址
****** 指针运算符, 间接获取目标对象
**T 二级指针运算符,如果包含包名,则写成*package.T

注意:
1> 并发所以对象都可作取地址操作,但是变量总能正确返回
2> 指针运算符为左值,则可用来跟新目标对象状态, 右值为了获取目标状态在这里插入图片描述
在这里插入图片描述
3> 指针类型支持==运算符, 但不能做加减法运算和类型转换
4> 若两指针指向同一地址&&都等于nil.则两者相等在这里插入图片描述
在这里插入图片描述

三 初始化
数组、字典、切片、结构体等复合类型变量初始化时(语法要求)
1> 初始化表达式必须含类型标签(即声明类型)
2> 左花括号{ 必须在类型尾部,不能另起一行(即 { 不能单独一行)
3> 多个成员初始化值以逗号分隔
4> 允许多行, 但每行须以逗号或右花括号结束

四 流控制
1 if / else
1> 杜绝逻辑上的死代码(dead code,永远也不会执行的代码)
2> 尽可能减少代码块嵌套, 以使逻辑处于相同层次,以保证功能单一性, 即
面向对象中设计原则中的:

**单一职责原则**

在这里插入图片描述
3> 可定义局部变量或者执行初始化函数

4> 局部变量的有效范围包含整个if/else块

5> 如果块逻辑过于复杂, 则建议重构为函数, 函数调用有性能损失, 但是增加易读性和可维护性

2 switch
1> 从上到下、从左及右
2> 默认有break,如需贯通 -> fallthrough,但必须是块最后一条语句
3> 有时可替代if else
在这里插入图片描述

3 for
1> 常见模式在这里插入图片描述
2> 用for 实现 while循环在这里插入图片描述
在这里插入图片描述
3> for …range
可完成数据迭代,支持字符串 数组 数组指针 切片 字典 通道等迭代
返回索引和键值数据
允许返回单值, 或用 ‘_’ 忽略
4> 初始化语句(即1中for i变量)只执行一次
在这里插入图片描述

注意: range 会复制目标数据, 受直接影响的是数组,可改用数组指针或者切片

举报

相关推荐

0 条评论