2022/1/21学习笔记

const int *a:指向const int型的指针, a指向的值不可改变(*a)++可以,但a指向的地址可以改变a++不可以    *a取值   a取地址
int* const a:是指向int的const指针,*a可以改写,a不可改写
少用全局变量,会阻碍函数的循环
内存空间只分配给变量,不分配给类型
结构体struct:不可重名,但可以有无名结构体,在定义时必须定义所有变量   成员也可以是指针,指向结构体时只能指向自己  整型指针才能指向结构体变量成员,结构体指针不行  结构体变量不能作为整体输入输出,只能对各个成员分别进行输入输出
访问成员变量的三种:stu.num  (*p).num  p->num         p->num++是先取num值然后自加   ++p->num是先使num值自加
数组名不能作为左值,给数组赋值只能用字符串拷贝strcpy (stu1.name,“li ming");
指名初始化只能在花括号中进行,可乱序
位置初始化在结构体右括号与分号间,按定义时成员顺序初始化
固定长初始化在初始化时定义全部初始值或给定大小
多维数组只能省略第一个下标
字对齐:有整型变量时,分配内存按4的整数倍分配,后一变量能存放在前一变量的剩余空间中,多余的空间造成内存空洞
半字对齐:有短整型时,分配内存按2的整数倍分配
共用体union:几个不同成员共用一段内存
cpu存取地址从低地址开始,不同cpu存放顺序不同   大端字节序:高位存在低地址位
(网络字节序)顺序存放    小端字节序:低字节位存放在低地址位  逆序存放
字符串没有字节序概念
枚举型enum:定义时必须给定枚举表,表内元素叫枚举常量,不赋值时按默认规则:第一个枚举常量未显式初始化时值为0,后一个枚举常量值是前一个加一  可以避免幻数   作为switch标签(开关语句)switch跟控制(整型)表达式  case跟整型常量表达式 第一次匹配完表达式后会顺序执行语句列表,除非遇到break跳出  default 可省,为保持完整一般不省 位置不固定但末尾也要加break
#开头:预处理命令
宏定义:宏名 宏体 中间以一空格相隔  宏函数不需要参数类型,只需要参数名 宏定义是简单的字符转换,不做运算不做语法分析 带参数的宏展开要替换两次,1用实参换形参,2用形参换宏体里的参数
循环while for:初始化表达式,条件表达式,修正表达式 语句可以省 空语句 但必须有两个分号,功能不能省
死循环 while(1)   for(;;)
ab交换 a=a+b; b=a-b;  a=a-b;
           a=a^b;  b=a^b; a=a^b;
           t=a;       a=b;      b=a;
位运算:
&:按位与:同1得1 否则为0  保留某些位(对应1) 其余位清零
|:按位或:同0得0,否则为1  对某些位(对应1)置一,保留其余位
^:按位异或:相同为0,不同为1 对某些位(对应1)取反,其余位不变
~:按位取反:各位反转 间接的构造一个数,增强可移植性
<<:按位左移:左移一位乘二
>>:按位右移:负数 补0的”逻辑右移“ 补1的”算术右移“

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值