C 编程
文章平均质量分 73
龙俠
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
linux下面信号
linux中的信号量:SIGHUP,SIGINT,SIGQUIT,SIGILL。。。。。。。。到网上百度一下1、信号量的定义:struct semaphore {spinlock_t lock;unsigned int count;struct list_head wait_list;};在linux中,信号量用上述结构体表示,我们可以通过该原创 2013-08-28 17:40:39 · 710 阅读 · 0 评论 -
linux中关于l时间函数的运用
首先介绍两个变量,time_t,tmtime_t是从1970年1月1日起到现在所经过的多少秒,它采用的是32位运算得到,但是只能用到2030年左右,现在出来time64_t可以用64位表示,根据编译环境而论其中tm是定义一个结构体struct tm {原创 2013-08-28 17:32:56 · 819 阅读 · 0 评论 -
linux下面关于assert函数
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c:#i原创 2013-08-28 17:33:37 · 962 阅读 · 0 评论 -
linux 错误处理类函数
错误处理类函数设计的有errno.h,stdilo.h的头文件当中。 clearerr()函数,清除流中的结束指示符和错误指示符,void clearerr(FILE *fp) 用于清楚与fp相关文件结束指示符和错误指示符 feof()函数,int feof(FILE *FP)当与fp流相关的文件结束指示符被设置时,feof函数返回一个非零值 fe原创 2013-08-28 17:34:28 · 670 阅读 · 0 评论 -
linux下面长跳函数的使用
用长跳转函数可以在函数间实现跳转int stejmp(jmp_buf env),函数用来把点钱状态星系保存到env中,供以后龙jmp函数会费状态信息时使用,如果是直接调用setjmp,那么返回值是零void longjmp(jmp_buf env, int val),龙jmp函数用来恢复由最近一次调用setjmp函数时保存到env的状态信息,当它执行完时,程序·1就像setjmp原创 2013-08-28 17:35:18 · 663 阅读 · 0 评论 -
linux下面的可变参数控制函数
这一组函数涉及的stdarg.h头文件,可以实现函数参数的变长传递,在头文件中定义了一个va_list,这个变量是一个字符指针,由va_start,va_end界定typedef struct{ char *a0; int offset; }va_list;可变长的参数控制函数void va_start (va_list原创 2013-08-28 17:36:04 · 981 阅读 · 0 评论 -
linux中c语言的扩展库函数之文件操作
1:I/o操作函数每一个进程在启动的时候会打开三个文件,分别是stdout,stdin,stderr,他们的文件描述符号分别是0,1,2 open,read,write,close函数是文件操作函数unix中的低级调用,他们使用文件描述符作为借口 open函数,打开文件#include #include #i原创 2013-08-28 17:37:46 · 1279 阅读 · 0 评论 -
文件权限相关操作函数
1:sccess函数,用来判断是否具有存取文件的权限 #include int access(const char *pathname,int mode) access函数用于检测是否可以读,写某一个文件或者测试某个文件是否存在,如果测试的文件是一个符号连接,access函数将测试这个符号连接引用的文件 mode有这集中组合:R_OK,W_原创 2013-08-28 17:38:52 · 959 阅读 · 0 评论 -
linux用户组操作函数
1:getdid函数和setgid函数,获得,设置组识别码,用于获取设置目前进程组识别码 #include #include gid_t getgid(void); int setgid(gid_t gid).2:getegid函数和setegid函数,获得设置有效的组识别码 #include #in原创 2013-08-28 17:39:47 · 1055 阅读 · 0 评论 -
c语言预处理程序与注释(#error)
C程序的源代码中可包括各种编译指令,这些指令称为预处理命令。虽然它们实际上不是C语言的一部分,但却扩展了C程序设计的环境。本节将介绍如何应用预处理程序和注释简化程序开发过程,并提高程序的可读性。4.7.1C语言的预处理程序ANSI标准定义的C语言预处理程序包括下列命令:#define#error#include#if#else#elif#endif#ifde转载 2013-08-28 17:29:15 · 1386 阅读 · 0 评论 -
linux下面关于进程处理函数
在linux中,进程表示中最重要的属性是进程ID(PID),和父进程ID(PPID),进程ID是一个正整数,唯一标志一个进程,由某个进程创建的新进场称为其子进程,穿件子进程的进程称为父进程。1:getpid函数和getppid函数:获取进程ID和父进程ID #include #include pid_t getpid(void)原创 2013-08-28 17:45:34 · 819 阅读 · 0 评论 -
柔性数组
也许你从来没有听说过柔性数组(flexible array)这个概念,但是它确实是存在的。C99 中,结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员,但结构中的柔性数组成员前面必须至少一个其他成员。柔性数组成员允许结构中包含一个大小可变的数组。sizeof 返回的这种结构大小不包括柔性数组的内存。包含柔性数组成员的结构用malloc ()函数进行内存的动态分配,并且原创 2013-08-28 17:12:03 · 552 阅读 · 0 评论 -
简要说明树的深度优先、广度优先遍历算法,及非递归实现的特点
二叉树的遍历:D:访问根结点,L:遍历根结点的左子树,R:遍历根结点的右子树。给定一棵二叉树的前序遍历序列和中序遍历序列可以惟一确定一棵二叉树。二叉树的深度优先遍历的非递归的通用做法是采用栈,广度优先遍历的非递归的通用做法是采用队列。 深度优先遍历二叉树。1. 中序遍历(LDR)的递归算法:若二叉树为空,则算法结束;否则: 中序遍历根结点的左子树;转载 2013-08-28 17:25:36 · 979 阅读 · 0 评论 -
\n和\r的区别
\r是回车符,\n是换行符计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做“回车”,告诉打字机把打印头定位转载 2013-08-28 17:26:35 · 742 阅读 · 0 评论 -
数组名取地址是什么?
int a[5]={1,2,3,4,5};int b[100];一个数组名代表的是数组中第一个元素的位置,通过数组名我们可以访问数组,先看下面两个问题问题一:看到一篇文章这么写的。。int array[10];int (*ptr)[10];ptr=&array;//这里说明&array是指向数组的指针,但为什么&array是指向数组的指针?答一:对数转载 2013-08-28 17:27:25 · 1461 阅读 · 0 评论 -
linux下面文件字符操作总结函数集锦
1:gets函数得到一个字符流保存在数组str中,char *gets(char *str);同时把读入的换行符替换成了'\0' 遇到文件的结束或错误就返回NULL2:getc和fgetc的区别是,功能完全相同,只是getc是宏定义函数,不是实则的函数 int getc (FILE *fp) int fgetc (FILE *fp) 同理,fputc和put原创 2013-08-28 17:30:30 · 774 阅读 · 0 评论 -
c语言用递归写hannol tower
#include #define N 7char a[] ={'1','2','3','4','5','6','7'};char b[] ={'0','0','0','0','0','0','0'};char c[] ={'0','0','0','0','0','0','0'};int step = 0;void print (int n){ int i; pr原创 2013-08-28 17:31:55 · 646 阅读 · 0 评论 -
linux下面信号量函数
1:kill函数:传送信号给指定的进程 #include #include int kill (pid_t pid ,int sig) kill函数可以用来把参数sig指定的信号送给参数pid指定的进程 使用参数pid指定进程分为一下几种情况:pid > 0:将信号传给进程识别吗为pid进程原创 2013-08-28 17:43:04 · 587 阅读 · 0 评论 -
linux下面信号量函数
1:kill函数:传送信号给指定的进程 #include #include int kill (pid_t pid ,int sig) kill函数可以用来把参数sig指定的信号送给参数pid指定的进程 使用参数pid指定进程分为一下几种情况:pid > 0:将信号传给进程识别吗为pid进程原创 2013-08-28 17:41:29 · 835 阅读 · 0 评论
分享