【C】【笔记】《C语言深度剖析》第二章 符号
来源:互联网 发布:淘宝宝贝下载破解版 编辑:程序博客网 时间:2024/05/16 07:58
本文为个人读书笔记,仅供记录学习过程中遇到的日后需要留意的问题,如有相关版权问题请及时通知作者。
注释
编译器会用空格代替注释部分
块注释不能嵌套
/与*之间没有空格,就会被当做注释的开始
注释的基本要求
全局数据必须要加注释
注释是对代码的提示,不是文档
注释代码段时应注重为何做,而不是怎么做
数值的单位一定要注释
接续符和转义符
\ 反斜杠 表示断行。编译器会将反斜杠剔除,跟在反斜杠后面的字符自动接续到前一行。反斜杠之后、下一行之前不能有空格
\ 反斜杠还表示转义字符。
单引号双引号
单引号引起的是字符常量,双引号引起的是字符串常量
逻辑运算符
注意当逻辑算式已经确定值之后,将不再执行其他的运算。
位运算符
按位亦或可以实现不用第三个临时变量交换两个变量的值,不推荐。
左移右移
左移:左运算数的各二进制位向左移动右运算数位,高位丢弃,低位补0
右移:做运算数的各二进制位向右移动右运算数位。对于有符号数,右移时符号位移动。正数时,高位补0;负数时,符号位为1,最高位补0或补1取决于编译系统规定。
+号优先级高于左移右移。
左移右移的位数不能大于数据的长度,不能小于0
自加自减
int i=3;
(++i)+(++i)+(++i);
vc的结果是16。某些编译器结果是18 。
后自加:遇到,逗号 ;分好认为计算单位已结束,会自加。
贪心法:C语言规定,没一个符号应该包含尽可能多的字符。编译器将程序分解成符号的方法是,从左到右一个一个字符的读入,如果该字符可能组成一个符号,那么再读入下一个字符,判断已经读入的两个字符组成的字符串是否可能使一个符号的组成部分;如果可能,继续读入下一个字符,重复判断,直到读入的字符组成的字符串已不再可能组成一个有意义的符号。这个处理的策略被称为“贪心法”。除了字符串与字符常量,符号的中间不能嵌有空白(空格、制表符、换行符等)
优先级
容易出错的问题
p所指对象的字段
f(*p).f
对p取f偏移,作为指针*
(p.f)
[ ]高于*int *ap[ ]ap是指向int数组的指针
int (*ap)[ ]
ap是元素为int指针的数组
int *(ap[ ])
函数()高于*int *fp()fp是个函数指针,所指函数返回int
int(*fp)()
fp是个函数,返回int*
int *(fp())
==和!=高于位运算(val&mask!=0)(val&mask)!0val&(mask!=0)==和!=高于赋值符c=getchar()!=EOF(c=getchar())!=EOFc=(getchar()!=EOF)算术运算符高于位移msb<<4+lsb(msb<<4)+lsbmsb<<(4+lsb)逗号优先级最低i=1,2i=(1,2)(i=1),2 0 0
- 【C】【笔记】《C语言深度剖析》第二章 符号
- C语言深度剖析学习笔记-符号
- C深度剖析读书笔记-第二章符号
- 《C语言深度剖析》学习笔记----C语言中的符号
- <c语言深度解剖>第二章符号笔记
- 《C语言深度剖析》笔记 之 符号和预处理
- <<C语言深度剖析>>学习笔记之三:符号
- c语言深度剖析之学习笔记(二)------------符号
- 《c语言深度剖析》整理--符号
- 《c语言深度剖析》笔记
- 《C语言深度剖析》笔记
- 《C语言深度剖析》笔记
- 5.读c语言深度剖析 -- 符号 注释符号
- 【C】【笔记】《C语言深度剖析》第三章 预处理
- 【C】【笔记】《C语言深度剖析》第五章 内存管理
- 【C】【笔记】《C语言深度剖析》第六章 函数
- 【C】【笔记】《C语言深度剖析》第七章 文件结构
- C语言深度剖析笔记(1)
- 人人生而平等,不可轻视任何一个人
- Ubuntu下配置samba实现文件夹共享
- 关于OC中快速枚举forin和for循环的一点区别
- scrollView上下滚item淡入淡出效果
- React Native技术栈学习路径
- 【C】【笔记】《C语言深度剖析》第二章 符号
- 容量测试之tcpcopy引流模式
- 黑马程序员——java基础---反射、正则
- 【C】【笔记】《C语言深度剖析》第三章 预处理
- noip2015广东 普及组coin
- smarty学习笔记(02)——
- lightOJ 1297 - Largest Box 【数学题】
- <mvc:annotation-driven/>、<context:component-scan base-package=""/>、<context:annotation-config/>的用法
- windows程序设计POPPAD3的关键难点详解(一)