C语言优化小技巧
在编写C语言程序后,经常需要对源码进行优化,以提高程序的运行效率,不妨看看C语言优化小技巧都有哪些吧。以下仅供参考!
1、C于代码在程序中的优化
现在的C编译器会自动对代码进行优化,但这些优化是对执行速度和代码长度的平衡。如果要获得更小且执行效率更高的代码,需要程序员手工对代码进行优化。
上海上嵌信息科技有限公司,一家专注口碑的嵌入式基地,严管理,重质量!
2、变量类型的定义
不同的数据类型所生成的机器代码长度相差很多,变量类型选取的范围越小运行速度越快,占用的内存越少。能够使用字符型)定义的变量,就不要使用整型(int)变量定义;能够使用整型变量定义的变量就不要用长整型(long int),能不使用浮点(float)变量就不要使用浮点型(double)变量。
相同类型的数据类型,有无符号对机器代码长度也有影响。因此我们应按照实际需要合理的选用数据类型。当然,在定义变量后不要超过变量的作用范围,如果超过变量的范围赋值,C编译器并不报错,但程序运行结果却错了,而且这样的错误很难发现。
3、提高循环语言的效率
在 C 语言中循环语句使用频繁,提高循环体效率的基本办法就是降低循环体的复杂性。在多重循环中,应将最长的循环放在最内层,最短的循环放在最外层。这样可以减少 CPU跨切循环的次数。如例 1-1 的效率比 1-2 的效率要高:
int i,j;
for (i = 0; i < 10; i++)
{
for (j = 0; j < 20; j++)
{
... ...
}
} // 例子 1-1
for (j = 0; j < 20; j++)
{
for (i = 0; i < 10; i++)
{
... ...
}
} // 例子 1-2
4、采用数学方法优化程序
数学是计算机之母,没有数学的'依据和基础,就没有计算机的发展,所以在编写程序的时候,采用一些数学算法会对程序的执行效率有数量级的提高。有时候这个问题常常被大家忽略, 对于没有经验的程序员来说更是如此。例如:求 1到100的自然数和sum = 100*(100+1)/2; 数学公式. (n +1)*n/2。
优化算法和数据结构对提高代码的效率有很大的帮助。当然有时候时间效率和空间效率是对立的,此时应分析哪个更重要,做出适当的折中。另外,在进行优化的时候不要片面的追求紧凑的代码,因为紧凑的代码并不能产生高效率的机器码。
-
C语言中friend友元函数详细解析
友元函数是可以直接访问类的私有成员的非成员函数。它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend。我们已知道类具有封装和信息隐藏的特性。只有类的成员函数才能访问类的私有成员,程序中的其他...
-
C语言入门知识:位运算
导语:C语言作为一门非常适合编程入门的语言,打好基础的重要性不言而喻。下面是其位运算的相关知识,欢迎阅读:一、位运算符在计算机中,数据都是以二进制数形式存放的,位运算就是指对存储单元中二进制位的运算。C语言提供6种位运算符。二、位运算位运算符&|~<<>>∧...
-
C语言猴子吃桃问题
猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子?分析:1)设x1为前一天桃子数,设x2为第二天桃子数,则:x...
-
Swift与C语言指针结合使用实例
引导语:Swift可与Object-C共同运行于MACOS和iOS平台,用于搭建基于苹果平台的应用程序。以下是本站小编分享给大家的Swift与C语言指针结合使用实例,欢迎阅读!####用以输入/输出的参数指针C和Objective-C并不支持多返回值,所以CocoaAPI中常常将指针作为一种在方法间...