c语言编程基础培训教材new

c语言编程基础培训教材new

ID:18231429

大小:82.50 KB

页数:12页

时间:2018-09-15

c语言编程基础培训教材new_第1页
c语言编程基础培训教材new_第2页
c语言编程基础培训教材new_第3页
c语言编程基础培训教材new_第4页
c语言编程基础培训教材new_第5页
资源描述:

《c语言编程基础培训教材new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、目录1.简单就是美2.sizeof3.字节序4.函数参数5.返回值6.强制类型转换7.swithcase8.字符串9.资源释放10.if规范11.临界资源保护1.简单就是美优先级搞不清楚用括号复合语句太罗嗦,拆成几行来写编码的三不原则不要挑战自己的记性不要挑战自己的耐心不要挑战编译器的水平编码的三用原则能用简单句的,就不要用复杂的技巧能用成熟代码的,就不要再来一套能用上工具的,就一定要机械化Structxxx{charcA;shortsB;longlC;}voidmain(){char*pchar;pchar=(char

2、*)malloc(7);/*1—魔鬼的数字;2—申请失败后怎么办?*/mencpy(pchar,“abcdefgh”,sizefo(xxx));/*3—内存*/printf(“%s”,pchar);/*缺少字符串结束符必越界*/return;/*5—退出前没有释放内存*/}2.sizeof数据结构是C语言的基础。C语言的灵活性很大,程度上在于其数据结构的灵活性。要用好的数据结构,首先要掌握数据结构的大小的计算,系统的每个数据机构,每个变量都会分配到一个对应的存储空间,这个存储空间的大小就是数据结构的尺寸。sizeof

3、为编译时的一元运算符,可用来计算任一对象的大小sizeof的结果是编译时的常量sizeof不能用于函数类型,不完全类型或位字段。不完全类型指具有未知存储大小的数据类型。如未知存储大小的数组类型,未知内容的结构或联合类型,void类型等。3.字节序X86系统voidQosConfigPolicy(xxx){ulDestIP=从命令行读取用户配置的参数;pQosPoliscy->ulDestIP=ulDestIP;return;}主机处理voidQosClassify(xxx){Plp=(IP-S*)pData;If(pQo

4、sPolicy->ulDestIP==plp->ulDestIP){Vos_HTONL(pQosPolicy->ulDestIP;DoSomething();}Return;}由于历史的原因,世界存在两种字节序标准——BigEndian和LittleEndian。PowerPC是大头,X86是小头。有些CPU可以通过寄存器设置支持不同的字节序。如MIPSBigEndian——高位在低字节,地位在高字节LittleEndian——低位在低字节,高位在高字节e.g.0x345678大头内存从低到高存放次序00,34,56,7

5、8;小头内存从低到高存放次序78,56,34,00字节序问题广泛存在于设备与设备之间,单板与单板之间,单板与底层之间,只要两个处理单元的字节序不同,这个问题就存在。为了解决不同字节序的处理单元之间的同信问题,世界上定义了主机序和网络序的概念,网络序主要用于信息传递,一般不用于计算,其字节顺序与大头一致。除在编码时紧绷这根弦之外,我们在器件选择是主机序与网络序一致的芯片,同一设备的不同单板使用相同的字节序。并优先选择支持大头的芯片,这样即使不能彻底解决问题,也可以彻底规避问题。4.函数参数C语言中,函数通过返回值和参数与调

6、用者交换信息。函数参数自身占用的存储单元在堆栈中分配。入口参数指向的数组或地址,在函数入口处拷贝到堆栈区中,因此对函数参数所在存储单元的直接修改不会作用到函数之外,而对参数存储单元中存放的地址指向的存储空间的修改,则会在函数之外起作用。调用者在进行函数调用之前,必须事先申明被调用函数的原型,包括返回值类型和参数类型。CHAR*GetMemory(CHAR*p){/*申请内存*/P=(CHAR*)malloc(100);Returnp;}Malloc申请的内存空间与操作系统有关,在PC中molloc申请空间以byte为单位

7、,如申请100个int内存则p=(INT*)malloc(400);VOIDTest(void){CHAR*str=NULL;If(NULL!=GetMemory(&str)){Strcpy(str,”hellworld”);Print(str);Free(str);Str=NULL;Return;}5.返回值C语言中,函数的调用者通过返回值了解函数的执行情况,函数缺省的返回值类型为int,编程规范要求必须显示定义函数的返回类型。对于反映了函数执行状态的返回值,调用者必须依据返回值进行相应的处理,尤其是对于函数执行异常的

8、情形。函数的出口参数能够起到与返回值类似的作用,上一条同样适用于出口参数。对于函数返回值为恒值得函数,建议使用void返回值#include“stdio.h”Voidmain(){Char*p;P=(char*)malloc(100);If(p!=NULL){Strcp(p,”helloworld!”);Prin

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

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

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