学习c语言函数这一章的心得,和方法技巧 。c语言中函数的实用技巧我个人认为函数这部分的重点给c语言中函数的实用技巧你说下哦c语言中函数的实用技巧:
1.函数的返回值类型 , 也就是你函数return的内容的类型,注意如果有多种结束函数途径的话一定要有多个return,譬如说
int fun(int x)
{
if(x0)
return 0;
else
return 1;
}
2.函数形参的传递关系 , 有的可以改变值,有的不可以改变值,也是给你个例子c语言中函数的实用技巧:
void fun1(int x,int *y,int z)
{
x=1;
*y=1;
z=1;
}
如果主函数有变量int a=b=c=2;fun(a,b,c);的话,那么b和c的值会改变 , 而a的值不会改变,那是因为:
a并不对变量a所占用内存空间的内容进行操作 。
b是把b变量的内存空间地址传递进去了 , fun函数直接对b变量所在内存空间进行操作,所以b会改变 。
至于c,你暂时不用知道 , 因为形参int c表示的是一个引用,是c++里面会涉及的 , 你现在用c所以暂时只要知道有这么种方法就可以了 。
3.就是注意函数中变量的存活期,这个说起来有点麻烦,你看下书上关于局部变量和全局变量那部分的内容吧,那个说的比较详细 。
C语言中有哪些实用的编程技巧这篇文章主要介绍了C语言高效编程的几招小技巧,本文讲解了以空间换时间、用数学方法解决问题以及使用位操作等编辑技巧,并给出若干方法和代码实例,需要的朋友可以参考下
引言:
编写高效简洁的C语言代码,是许多软件工程师追求的目标 。本文就工作中的一些体会和经验做相关的阐述 , 不对的地方请各位指教 。
第1招:以空间换时间
计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招——以空间换时间 。
例如:字符串的赋值 。
方法A,通常的办法:
代码如下:
#define LEN 32
char string1 [LEN];
memset (string1,0,LEN);
strcpy (string1,“This is a example!!”);
方法B:
代码如下:
const char string2[LEN] =“This is a example!”;
char * cp;
cp = string2 ;
(使用的时候可以直接用指针来操作 。)
从上面的例子可以看出,A和B的效率是不能比的 。在同样的存储空间下 , B直接使用指针就可以操作了,而A需要调用两个字符函数才能完成 。B的缺点在于灵活性没有A好 。在需要频繁更改一个字符串内容的时候,A具有更好的灵活性;如果采用方法B , 则需要预存许多字符串,虽然占用了大量的内存,但是获得了程序执行的高效率 。
如果系统的实时性要求很高,内存还有一些,那我推荐你使用该招数 。
该招数的变招——使用宏函数而不是函数 。举例如下:
方法C:
代码如下:
#define bwMCDR2_ADDRESS 4
#define bsMCDR2_ADDRESS 17
int BIT_MASK(int __bf)
{
return ((1U(bw ## __bf)) - 1)(bs ## __bf);
}
void SET_BITS(int __dst, int __bf, int __val)
{
__dst = ((__dst)~(BIT_MASK(__bf))) | /
(((__val)(bs ## __bf))(BIT_MASK(__bf))))
}
SET_BITS(MCDR2, MCDR2_ADDRESS, RegisterNumber);
方法D:
代码如下:
#define bwMCDR2_ADDRESS 4
#define bsMCDR2_ADDRESS 17
#define bmMCDR2_ADDRESS BIT_MASK(MCDR2_ADDRESS)
#define BIT_MASK(__bf) (((1U(bw ## __bf)) - 1)(bs ##__bf))
#define SET_BITS(__dst, __bf, __val) /
((__dst) = ((__dst)~(BIT_MASK(__bf))) | /
(((__val)(bs ## __bf))(BIT_MASK(__bf))))
推荐阅读
- 虎牙直播知乎,虎牙线上主播
- 小狗什么时候直播,小狗什么时候退乳毛
- 如何相互替换ppt模板,如何将现有ppt替换模板
- mysql怎么知道外键 mysql外键类型
- redis缓存token,redis缓存雪崩怎么解决
- 为什么笔记本电脑突然变慢,笔记本变慢的主要原因
- 公众号文章合集标签,公众号的标签是什么意思
- php的数据库连接信息 php连接数据库的函数
- 计算机改名后sqlserver连不上,sqlserver登录名密码改不了