
C
郁闷阳光
作为码农,建此博客的目的是记录工作历程中的点点滴滴,分享工作中的感悟、思考。
展开
-
利用C语言小程序来解决大问题
我们知道C语言的功能非常强大, 很适合编写系统软件。利用它我们可以很容易地解决经常遇到的一些棘手的问题,如拷贝隐含或系统属性的文件(特别是光盘中的隐含文件)、在任意DOS版本或在windows中更改子目录的名称、在任意DOS 版本中使用带空格的目录名等等。这些问题仅靠操作系统或常原创 2011-10-19 09:02:51 · 473 阅读 · 0 评论 -
用C语言实现参数个数可变的函数
采用C语言编程的时候,函数中形式参数的数目通常是确定的,在调用时要依次给出与形式参数对应的所有实际参数。但在某些情况下希望函数的参数个数可以根据需要确定。典型的例子有大家熟悉的函数printf()、scanf()和系统调用execl()等。那么它们是怎样实现的呢?原创 2011-10-18 17:20:29 · 639 阅读 · 0 评论 -
C中的可变参数
可变参数的一个前提:_cdecl (参数压栈方向:从右向左)可变参数宏:va_start,va_arg,va_end是在stdarg.h中被定义成宏的,由于硬件平台的不同,编译器的不同,所以定义的宏也有所不同,下面以VC++中stdarg.h里x86平台的宏定义摘录如下:typedef char * va_list;#define _INTSIZEOF(n) ((sizeof(原创 2011-10-21 09:45:05 · 308 阅读 · 0 评论 -
国际C 语言乱码大赛(IOCCC)获奖作品
看下牛人写的代码吧。#i nclude main(t,_,a)char *a;{return!0<t?t<3?main(-79,-13,a+main(-87,1-_,main(-86,0,a+1)+a)):1,t<_?main(t+1,_,a):3,main(-94,-27+t,a)&&t==2?_<13?main(2,_+1,"%s %d %d\n"):9:16:t<0?t<-72?m原创 2011-11-02 15:52:28 · 2770 阅读 · 0 评论 -
一个关于静态局部变量以及全局变量的例子
先看一段代码static int j;void fun1(void){ static int i = 0; i++; printf("i = %d \n", i);}void fun2(void){ j = 0; j++; printf("j = %d \n", j);}int main(int argc, char* argv[]){ for (int原创 2011-11-02 09:31:47 · 1697 阅读 · 0 评论 -
C语言编程优化运行速度
1、选择合适的算法和数据结构选择一种合适的数据结构很重要,如果在一堆随机存放的数中使用了大量的插入和删除指令,那使用链表要快得多。数组与指针语句具有十分密切的关系,一般来说,指针比较灵活简洁,而数组则比较直观,容易理解。对于大部分的编译器,使用指针比使用数组生成的代码更短,执行效率更高。在许多种情况下,可以用指针运算代替数组索引,这样做常常能产生又快又短的代码。与数组索引相比,指针一般能使原创 2011-12-09 14:52:24 · 731 阅读 · 0 评论 -
C语言字符串,字符转数字,数字转字符
在C/C++语言中没有专门的字符串变量,通常用字符数组来存放字符串。字符串是以“\0”作为结束符。C/C++提供了丰富的字符串处理函数,下面列出了几个最常用的函数。 ● 字符串输出函数puts。 ● 字符串输出函数gets。 ● 字符串连接函数strcat。 ● 字符串复制函数strcpy。 ● 测字符串长度函数strlen。字符串是面试的重点考查部分的相关知识,转载 2012-02-10 22:06:54 · 441 阅读 · 0 评论