C语言编程之运行速度优化方法汇总,选择合适的算法和数据结构,选择一种合适的数据结构很重要,如果在一堆随机存放的数中使用了大量的插入和删除指令,那使用链表要快得多。数组与指针语句具有十分密切的关系,一般来说,指针比较灵活简洁,而数组则比较直观,容易理解。
C语言编程之运行速度优化方法汇总,选择合适的算法和数据结构,选择一种合适的数据结构很重要,如果在一堆随机存放的数中使用了大量的插入和删除指令,那使用链表要快得多。数组与指针语句具有十分密切的关系,一般来说,指针比较灵活简洁,而数组则比较直观,容易理解。对于大部分的编译器,使用指针比使用数组生成的代码更短,执行效率更高。
在许多种情况下,可以用指针运算代替数组索引,这样做常常能产生又快又短的代码。与数组索引相比,指针一般能使代码速度更快,占用空间更少。使用多维数组时差异更明显。下面的代码作用是相同的,但是效率不一样。
数组索引 指针运算,For(;;){ p=array
A=array[t++]; for(;;){
a=*(p++);
指针方法的优点是,array的地址每次装入地址p后,在每次循环中只需对p增量操作。在数组索引方法中,每次循环中都必须根据t值求数组下标的复杂运算。
使用尽量小的数据类型
能够使用字符型(char)定义的变量,就不要使用整型(int)变量来定义;能够使用整型变量定义的变量就不要用长整型(long int),能不使用浮点型(float)变量就不要使用浮点型变量。当然,在定义变量后不要超过变量的作用范围,如果超过变量的范围赋值,C编译器并不报错,但程序运行结果却错了,而且这样的错误很难发现。
在ICCAVR中,可以在Options中设定使用printf参数,尽量使用基本型参数(%c、%d、%x、%X、%u和%s格式说明符),少用长整型参数(%ld、%lu、%lx和%lX格式说明符),至于浮点型的参数(%f)则尽量不要使用,其它C编译器也一样。在其它条件不变的情况下,使用%f参数,会使生成的代码的数量增加很多,执行速度降低。
hbeag是什么意思hcv7jop6ns6r.cn | 绿色的鸟是什么鸟hcv8jop1ns7r.cn | opc是什么意思hcv9jop4ns9r.cn | 7月30号什么星座hcv8jop3ns1r.cn | 什么的贝壳wuhaiwuya.com |
233是什么意思啊hcv8jop4ns7r.cn | 尿素肌酐高是什么原因hcv7jop6ns4r.cn | 大连是什么海hcv9jop7ns3r.cn | 灶王爷叫什么名字hcv8jop6ns0r.cn | 为什么用beikeqingting.com |
为什么针灸后越来越痛hcv9jop1ns2r.cn | 破伤风有什么症状hanqikai.com | 打火机里面的液体是什么hcv8jop8ns6r.cn | 什么叫末法时代hcv9jop2ns5r.cn | 出挑是什么意思hcv8jop4ns1r.cn |
肝硬化吃什么好hcv7jop5ns2r.cn | 白细胞酯酶阳性是什么chuanglingweilai.com | 小众是什么意思hcv8jop6ns7r.cn | 吃哈密瓜有什么好处baiqunet.com | 5月9号是什么星座hcv9jop6ns1r.cn |