
C
「已注销」
这个作者很懒,什么都没留下…
展开
-
C笔试题(判断大端小端模式及大小端模式转换)
判断大端小端模式int checkEndion( void ){ union check { int i; char ch; }c; c.i = 1; return (c.ch ==1);}变量 i 占 4 个字节,但只有一个字节的值为 1,另外三个字节的值都为 0。如果取出低地址上的值为 0转载 2016-02-19 08:37:54 · 651 阅读 · 0 评论 -
Linux下C实现的聊天室
实现目标一个在Linux下可以使用的聊天软件,要求至少实现如下功能:1. 采用Client/Server架构2. Client A 登陆聊天服务器前,需要注册自己的ID和密码3. 注册成功后,Client A 就可以通过自己的ID和密码登陆聊天服务器4. 多个Client X 可以同时登陆聊天服务器之后,与其他用户进行通讯聊天5. Client A成功登陆后可以查看当前转载 2016-04-19 17:12:27 · 2513 阅读 · 1 评论 -
pow(x,y)函数的实现算法(递归函数)
pow(x,y)函数的实现算法(递归函数)函数pow(x,y)实现运算x^y,即x的y次方,这里x和y都为整数。算法的基本思想是,减少乘法次数,重复利用结算结果,例如:x^4,如果逐个相乘的话,需要四次乘法。如果我们这样分解(x^2)*(x^2)就只需要2两次乘法,因为x^2的结果我们可以重复利用。所以我们最好做对称的分解指数y,然后求x^(y/2)的平方。具体算法如下:1 如果y...转载 2019-07-16 18:31:40 · 1976 阅读 · 0 评论 -
为什么要用宏定义函数
在C程序中,可以用宏代码提高执行效率。宏代码本身不是函数,但使用起来象函数。预处理器用复制宏代码的方式代替函数调用,省去了参数压栈、生成汇编语言的CALL调用、返回参数、执行return等过程,从而提高了速度。使用宏代码最大的缺点是容易出错,预处理器在复制宏代码时常常产生意想不到的边际效应。...原创 2019-08-01 17:00:36 · 3658 阅读 · 0 评论 -
do{...}while(0)的妙用
do{...}while(0)的妙用1.帮助定义复杂的宏以避免错误举例来说,假设你需要定义这样一个宏:#define DOSOMETHING() foo1(); foo2();这个宏的本意是,当调用DOSOMETHING()时,函数foo1()和foo2()都会被调用。但是如果你在调用的时候这么写:if(a>0) DOSOMETHING();因为宏在预处理...原创 2019-08-01 17:03:52 · 173 阅读 · 0 评论 -
宏定义中 # 和 ## 的作用
单井号:将后面的 宏参数 进行字符串操作,即 将后面的参数用双引号引起来双井号:就是用于连接 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 ...原创 2019-08-01 18:07:31 · 543 阅读 · 0 评论