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 · 643 阅读 · 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 · 2501 阅读 · 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 · 1918 阅读 · 0 评论 -
为什么要用宏定义函数
在C程序中,可以用宏代码提高执行效率。宏代码本身不是函数,但使用起来象函数。 预处理器用复制宏代码的方式代替函数调用,省去了参数压栈、生成汇编语言的CALL调用、 返回参数、执行return等过程,从而提高了速度。 使用宏代码最大的缺点是容易出错,预处理器在复制宏代码时常常产生意想不到的边际效应。 ...原创 2019-08-01 17:00:36 · 3561 阅读 · 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 · 151 阅读 · 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 · 529 阅读 · 0 评论