C语言
wfq0987
这个作者很懒,什么都没留下…
展开
-
C专家编程—使用unsigned int可能产生的Bug(1)
<br /> 在vs2008环境下,如下代码显示不同的结果:<br /> <br /> #include<stdio.h><br /> #define TOTAL_ELEMENTS (sizeof(array)/sizeof(array[0]))<br /> int array[] = {23,34,12,17,204,99,16};<br /> <br /> int main(void)<br />原创 2011-06-02 13:10:00 · 1020 阅读 · 0 评论 -
C专家编程—分析signal函数的原型声明{void (*signal(int sig,void (*func)(int)))(int)}(2)
在ANSI标准中,signal()的声明如下: void (*signal(int sig,void (*func)(int)))(int)signal是一个函数,它返回一个函数指针,后者所指向的函数(signal的返回值)接受一个int参数并返回void。signal函数有两个参数,一个是sig(为int类型),另一个是func(为void(*)(int)类型)。 vo原创 2011-06-29 10:37:00 · 5057 阅读 · 1 评论 -
C语言可变参数详解
补充:可变参数函数之间的调用(见code)。int fun1( TCHAR *__format, ...){va_list argptr; va_start(argptr, __format);fun2( __format, &argptr);va_end(argptr);return 0;}int func2( TCHAR *__format,va_转载 2012-02-27 15:33:38 · 1092 阅读 · 0 评论 -
C 程序更有效率的 10 种方法
转至:http://blog.chinaunix.net/space.php?uid=26495963&do=blog&id=3062636任何代码的美丽不仅在于找到一个给定的问题的解决方案,但在它的简单性,有效性,紧凑性和效率(内存)。设计的代码比实际执行更难 。因此,每一个程序员当用C语言开发时,都应该保持这些基本的东西在头脑中。 本文向你介绍规范你的C代码的10种方转载 2012-02-17 15:58:17 · 562 阅读 · 0 评论 -
#pragma pack(n)和sizeof求结构的大小
为了提高CPU的存储速度,VC对一些变量的起始地址做了“对齐”处理。在默认情况下,VC规定各成员变量存放的起始地址相对于结构的起始地址的偏移量必须为该变量的类型所占用的字节数的倍数。下面列出常用类型的对齐方式(vc6.0,32位系统)。类型对齐方式(变量存放的起始地址相对于结构的起始地址的偏移量)Char偏移量必须为sizeof(char)即1的倍数int偏移量必须为s原创 2012-02-13 17:11:09 · 641 阅读 · 0 评论 -
#pragma comment和#pragma 预处理指令详解
该宏放置一个注释到对象文件或者可执行文件。 例如,#pragma comment(lib,"Ws2_32.lib")表示链接Ws2_32.lib这个库。 和在工程设置里写上链入Ws2_32.lib的效果一样,不过这种方法写的 程序别人在使用你的代码的时候就不用再设置工程settings了。#pragma comment( comment-type [,"转载 2012-04-13 10:12:27 · 6152 阅读 · 0 评论