【5A版】华为技术有限公司C语言编程基础.ppt

【5A版】华为技术有限公司C语言编程基础.ppt

ID:32348498

大小:1.12 MB

页数:86页

时间:2019-02-03

【5A版】华为技术有限公司C语言编程基础.ppt_第1页
【5A版】华为技术有限公司C语言编程基础.ppt_第2页
【5A版】华为技术有限公司C语言编程基础.ppt_第3页
【5A版】华为技术有限公司C语言编程基础.ppt_第4页
【5A版】华为技术有限公司C语言编程基础.ppt_第5页
资源描述:

《【5A版】华为技术有限公司C语言编程基础.ppt》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、华为技术有限公司C语言编程基础内部公开目录前言sizeof字节对齐字节序函数参数返回值强制类型转换Switchcase字符串溢出资源释放If规范临界资源保护简单既是美前言提高我司产品竞争力,研发要在以下几个方面下功夫:提高规划水平,把握正确的方向(战略)提高设计水平,搭建合理的系统(战术)提高编码水平,开发稳定的代码(单兵作战技能)前言我们为什么要进行培训?最好的医术是预防真正的难问题往往是低级错误引起的我们的编码水平不容乐观C是程序员的语言前言要提高编码水平,每个开发人员要做到:勤学苦练,提高编程技能前车之鉴,后世之师,不犯同样的错误;坚持代码Review、PC-LINT检查和单元

2、测试;总而言之,就是少犯错误,尽早发现错误目录前言sizeof字节对齐字节序函数参数返回值强制类型转换Switchcase字符串溢出资源释放If规范临界资源保护简单既是美基础篇之简单就是美If(a&&b

3、

4、c

5、d==e&f)这个表达式的正确运算顺序是什么?test(a++,++a,a++,++a,a++,++a)a=1;实际函数调用时,传入的参数值分别是多少?(++*p++)–(--*q--)语义是什么?a=b=1,c=2,d=3;e=4;a的值是多少?基础篇之简单就是美这里没有答案,只有问题:我们问什么要写这样的代码?工作太轻松?BUG不够多?水平显不出?…………如何改进?优先级搞

6、不清楚用括号;复合语句太罗嗦,拆成几行来写;套用两句广告词:把简单的事情复杂化,太累把复杂的事情简单化,贡献!基础篇之简单就是美编码的三不原则不要挑战自己的记性不要挑战同事的耐心不要挑战编译器的水平编码的三用原则能用简单语句的,就不要用复杂的技巧能用成熟代码的,就不要再来一套能用上工具的,就一定要机械化我们要求什么?structXXX{charcA;shortsB;longlC;};voidmain(){char*pChar;pChar=(char*)malloc(7);memcpy(pChar,"abcdefgh",sizeof(XXX));printf("%s",pChar)

7、;return;}我们要求什么?-续structXXX{charcA;shortsB;longlC;};voidmain(){char*pChar;pChar=(char*)malloc(7);/*0,魔鬼数字;1,未申请成功怎么办?*/memcpy(pChar,“abcdefgh”,sizeof(XXX));/*2,内存越界*/printf(“%s”,pChar);/*3,没有字符串结束符*/return;/*4,没有释放内存*/}目录前言sizeof字节对齐字节序函数参数返回值强制类型转换Switchcase字符串溢出资源释放If规范临界资源保护简单既是美基础篇之sizeof

8、数据结构是C语言的基础C语言的灵活性很大程度上在于其数据结构的灵活性要用好数据结构,首先要掌握数据结构大小的计算系统为每个数据结构、每个变量都会分配一个对应的存储空间,这个存储空间的大小就是数据结构的尺寸基础篇之sizeoftypedefunionrecord{LONGlIndex;SHORTsLevel[6];CHARcPos;}REC_S;REC_SstMax,*pMax;CHARstr[]=“Hello”;CHAR*pChar=str;ULONGulGrade=10;USHORTusClass=10;DOUBLEdWeightUCHAR*pCharArray[10][10];S

9、izeof(stMax/pMax/str/pChar/ulGrade/usClass/dWeight/pCharArray)的取值分别是多少?基础篇之sizeoftypedefunionrecord{LONGlIndex;SHORTsLevel[6];CHARcPos;}REC_S;REC_SstMax(12),*pMax(4);CHARstr[]=“Hello”(5+1=6,不要忘了);CHAR*pChar=str(4);ULONGulGrade=10(4);USHORTusClass=10(2);DOUBLEdWeight(8);UCHAR*pCharArray[10][10

10、](4×10×10=400);目录前言sizeof字节对齐字节序函数参数返回值强制类型转换Switchcase字符串溢出资源释放If规范临界资源保护简单既是美基础篇之字节对齐随着半导体技术的发展,我们经历8bit、16bit、32bit乃至64bit的CPU,我们产品当前大多使用32bitCPU从内存存取效率来说,4字节对齐的存取速度是最快的,非对齐情况下,CPU需要分解成两次32bit操作;缺省情况下,编译器自动对数据结构进行四字节对齐,以提高程序执行的

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

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

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