![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
chenlilong84
这个作者很懒,什么都没留下…
展开
-
GNU下的void指针
#include typedef enum { red, green, blue,}color_type;static int choose(void *type_p);static int test(void *value);int main(int argc, char **argv){ void *voi原创 2012-07-02 17:17:19 · 725 阅读 · 0 评论 -
枚举类型总结
1. 枚举类型是用来声明代表整数常量的符号名称。由此可见,枚举类型与整数类型有着密切的联系,枚举类型的常量均是int类型的,它的存在主要是为了提高程序的可读性,后面的例子将会看到。通过enum关键字就可以创建一个新的“类型”并可以给它指定具体的值。 【引申】sizeof(枚举类型) = sizeof(int) = 42. 枚举类型的声明:原创 2012-07-22 21:29:55 · 1228 阅读 · 0 评论 -
GCC扩展符(#,##)
先来说说这两个扩展符的各自用处吧,“#”是将宏字符串化(Stringification),“##”是将##左右两边的标签组合在一起(token pasting or token concatenation),下面从两个简单例子着手: #define SSVAR(X,Y) const char X[]=#Y SSVAR(InternetGatewayDevice, InternetGa原创 2013-03-13 13:38:44 · 1977 阅读 · 0 评论 -
Linux下随机数生成的常见方法
众所周知,利用Linux下的rand函数可以生成范围在0到RAND_MAX(在stdlib.h中定义,值为2147483647)的数值,但是一般来讲,为了达到更好的随机效果,需要利用srand函数设置相应的随机种子(或者说随机数的起始值),种子相同,所产生的随机数也是相同的,因此,要想获得随机效果好的随机数,一定要保证每次的随机种子有差别。常见的可作为随机种子的有:当前时间、/dev/random原创 2013-10-15 11:46:25 · 10907 阅读 · 0 评论 -
如何合并文件中的内容?
算法基本思想是:打开文件之后,不断利用fgets函数将文件内容存放到本地存储空间中。这种方法必须要处理fgets插换行符的问题。#include #include #define OPEN_FILE "test.txt"#define MAX_SIZE 120char *Delete_Line_Break_and_Save(char *src_buf, char *dst_bu原创 2013-09-10 12:34:57 · 1219 阅读 · 0 评论 -
static关键字以及字符串常量的理解
链接属性总共有三种:external(外部)、internal(内部)以及none(无)。默认情况下标识符一般是外部或者无属性,但是,通过static关键字,则可以改变标识符的属性,将外部属性转变成内部属性,一般我们所说的内外链接属性其实也是相对于文件作用域而言的。原创 2014-05-14 13:58:37 · 3128 阅读 · 0 评论