![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
文章平均质量分 77
jack_ooneil
做人如果没有梦想和咸鱼有什么分别?
展开
-
printf可变参数的实现
我是大自然的搬运工。。。。。 print.h [cpp] view plaincopy #ifndef __PRINT_H_ #define __PRINT_H_ void print(char* fmt, ...); void printch(char ch); void转载 2015-11-05 21:08:29 · 827 阅读 · 0 评论 -
linux下生成core文件及调试
转载:http://leonzhan.iteye.com/blog/803008 Linux下的C程序常常会因为内存访问错误等原因造成segment fault(段错误),此时如果系统core dump功能是打开的,那么将会有内存映像转储到硬盘上来,之后可以用gdb对core文件进行分析,还原系统发生段错误时刻的堆栈情况。这对于我们发现程序bug很有帮助。 使用ulimit -a可以查看系统c转载 2015-09-23 14:29:32 · 880 阅读 · 1 评论 -
栈的PUSH POP序列
输入两个整数序列, 其中一个表示栈的push顺序, 判断另一个序列有没有可能是对应的POP序列。 //下面使用一个栈来模拟这个操作过程, 栈顶元素等于出栈序列中的元素时出栈,不等于时入栈。 //如果栈正常POP直到为空,说明序列是对应的POP序列返回真, 否则返回假 /* 1)pst 为已经初始化的栈 2)input为输入栈序列 3)output为需要判断的序列 4)原创 2016-08-03 10:43:03 · 534 阅读 · 0 评论 -
C语言从stdin读取一行字符串的几种方法
C语言从stdin读取一行字符串的几种方法 gets gets函数的头文件是,原型如下: char *gets(char *s); gets从stdin中读入一行内容到s指定的buffer中,当遇到换行符或EOF时读取结束。读取成功时,返回s地址;失败时返回null。需要注意的是,gets会将行末尾的'\n'字符或EOF替换成'\0',这样,gets读取的内转载 2016-07-07 17:22:28 · 8465 阅读 · 0 评论 -
循环队列
简单循环队列实现及测试 #include #include #define QSIZE 10 typedef struct Element{ int key; /*other field*/ } Element; typedef struct Queue{ Element elem[QSIZE]; int front;原创 2016-05-18 12:07:56 · 253 阅读 · 0 评论 -
#if 和#ifdef的区别
今天也碰到这个问题,使用#ifdef xxx 想选择编译一段代码,最后发现#ifdef 并不判断条件真假,只看是否前面有define,下面转自 http://blog.csdn.net/zhangchiytu/article/details/7563329 参加华为的面试,竟然才发现#if 和#ifdef是有区别的,绝得无地自容。赶紧整理一下 先看个例转载 2015-12-04 10:55:26 · 5503 阅读 · 0 评论 -
C语言可变参数的原理
转自:http://blog.csdn.net/bigloomy/article/details/6588354 这个写得比较简单,明了,看了这个才真正理解了变长参数怎么实现的。 在学习C语言的过程中我们可能很少会去写变参函数,印象中大学老师好像也没有提及过,但我发现变参函数的实现很巧妙,所以还是特地在此分析下变参函数的实现原理。无需标准C的支持,我们自己写代码来实现。 先来看看转载 2015-11-05 20:54:14 · 353 阅读 · 0 评论 -
可变参数宏的原理及作用
有什么作用呢? 主要是为了方便管理软件中的打印信息。我们在写代码或者修改bug时通常会将一些重要参数打印出来,方便我们debug,但是软件发行的时候通常我们不希望有这些打印,可变参数宏就可以在这里大显身手,当然也可以用分级控制(ERR、INFO/ WARNING DEBUG)的方式来管理,实现起来也不麻烦,只要在这个宏中添加判断语句就可以。 但是一般我们调试问题,不会把所有打印都打开原创 2016-11-10 11:02:36 · 3990 阅读 · 0 评论