C语言深度剖析笔记

C语言深度剖析笔记

ID:44208280

大小:99.50 KB

页数:15页

时间:2019-10-19

C语言深度剖析笔记_第1页
C语言深度剖析笔记_第2页
C语言深度剖析笔记_第3页
C语言深度剖析笔记_第4页
C语言深度剖析笔记_第5页
资源描述:

《C语言深度剖析笔记》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C语言深度剖析笔记123定义声明最重要的区别:定义创建了对象并为这个对象分配了内存,声明没有分配内存。编译器在缺省的情况下,所有变量都是auto的。最快的关键字register:改关键字请求编译器尽可能将变量存在CPU内部寄存器中(而非通过内存寻址访问)以提高效率。只是尽可能而非绝对。限制:register变量必须是一个单个的值,并且长度应小于或等于整型的长度;而且register变量可能不存放在内存中,所以不能用取值运算符来获取register变量的地址。4静态变量static:4.1修饰变量,又分为局部

2、和全局变量,但都在内存的静态区。4.1.1静态全局变量作用域仅限于变量被定义之处开始,到文件结尾处结束,在定义前要使用需加externo4.1.2静态局部变量,在函数体内定义,只能在函数里使用,同一文档里其他函数也用不了。函数运行结束后,该静态变量的值不会销毁。4.2修饰函数,函数前添加使函数仅作用于本文件,好处不必担心自己编写的函数与其他文件的函数同名。5基本数据类型:20.132位系统上各类里分配内存大小:short2byte,int4byte,long4byte,float4byte,double8b

3、yte,charlbyte(具体平台可用sizeof得到)。5.2变量命名规则:15.2.1直观且可读,便于建议和阅读。5.2.2命名应简洁,但尽量标明其专业意义5.2.3标识名为多个词组成时,每个词首字母大写5.2.4尽量避免数字编号,除非逻辑开发需要5.2.5对在多个文件之间共同使用的全局变量或函数要加范围限定符(使用模块名作为范围限定符)5.2.6习惯上,n、m、i、j、k等表示int类型变量;c、ch表示char变量;a表示数组;p表示指针;i、j、k常用语循环变量。5.2.7定义变量的同时要初始化

4、。67Sizeof是关键字而非函数Signed和unsigned关键字:32位signedint类型整数的数值范围为-231^231-1;8位char类型数的值范围为-27^27-1;32位unsignedint类型整数的数值范围为0-232-1;8位char类里数的值范围为0^28-1;默认数据为signedo8If、else组合8.1Bool变量和“零值”比较的if语句:首先FALSE的值在编译器里定义为0,TRUE则不一定为1;boolbTestFlag二FALSE相当于讦(bTestFlag);if

5、(IbTestFlag);8.2Float变量与“零值”比较的if语句:首先不能与0.0进行直接比较;floatfTestVal=0.0其if语句应写作:if((fTestVal>=-EPSINON)&&(fTestVal<二EPSINON));EPSINON为定义好的精度。8.3指针变量与“零值”比较的讦语句:int*p=NULL;定义指针一定要同时初始化;if(NULL二二p);if(NULL!=p);If语句注意事项:8.4.1If语句先处理止常情况,else再处理异常情况

6、;8.4.2确保if和else子句没有弄反;7Switch>case组合9.1注意事项:每个case语句结尾不要忘了使用break,除非有意多分支重叠;最后必须要用default分支,即便不需要default处理,以应该保留default:break;9.29.3Case语句后面只能是整型或字符型的常量或常量表达式;Case语句排序规则:9.3.1按字母或数字顺序排序case语句有助于查询;29.3.2正常情况在前,异常在后;9.3.3按执行频率排列;8do、while>for循环语句10.1注意事项:10

7、.1.1多重循环中,如有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数。10.1.2for语句中循环变量尽量采用半开半闭区间写法(即<、>);不可在for语句中修改循环变量,防止循环失控10.1.3循环要尽可能的短,循环嵌套控制在3层以内7const修饰只读变量,其值在编译时不可用,作用节省空间,避免不必要的内存分配,同时提高效率11.1与宏定义的区别:e.g.#defineM3〃宏常量constintN=5;〃此时并未将N放入内存中inti=N;〃此时为N

8、分配内存,以后不再分配intl=M;〃预编译期间进行宏替换,分配内存intj=N;〃不再分配内存intJ=M;〃再进行宏替换,又一次分配内存11.2修饰一般变量,可在类型说明符前后添加,泊tconsti二2;或constinti=2;11.3修饰数组11.4修饰指针11.5修饰函数的参数:voidFun(constinti);告知编译器i在函数体内不能改变11.6修饰函数的返回值8extern标示变量或函数的定义

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。