随笔分类 -  C基础

C基础知识
Linux编程基础之多线程
摘要:多线程基础,包括多线程创建,等待,退出。 阅读全文
posted @ 2012-02-03 08:42 linux先生 阅读(483) 评论(0) 推荐(0)
Linux编程基础之共享内存
摘要:共享内存是进程间通信的最为高效的方式,为了实现多个进程间的数据交换,内核专门开辟出一块内存专门用来创建共享内存块,然后需要的进程只需要建立映射,将这个共享内存映射到自己的私有地址,便可以直接访问和操作了,任何一个进程改了该内存上的数据,其它映射的进程都可以马上用到。 阅读全文
posted @ 2012-01-31 01:32 linux先生 阅读(1015) 评论(1) 推荐(1)
Linux编程基础之信号
摘要:信号是一种最为古老的通信方式,类似生活中的电报,以简单快捷的方式,将较小信息量的信号发送至相应的进程,且不像管道需要事先建立连接关系,并且能让对方及时作出反应。可以说信号是软件层次上对硬件中断机制的模拟,其实操作系统中有很多东西都是在它基础上实现的,例如敲击键盘,强制中断,关机命令等过程都有信号的功劳。 阅读全文
posted @ 2012-01-30 23:54 linux先生 阅读(309) 评论(0) 推荐(0)
Linux编程基础之管道通信(二)
摘要:命名管道的应用 阅读全文
posted @ 2012-01-29 03:09 linux先生 阅读(331) 评论(0) 推荐(0)
Linux编程基础之管道通信
摘要:管道是进程通信的一种方式,它可以满足两个进程之间传递数据(可以一次性也可以满足连续传输),它可以分无名管道和命名管道两种,它具有下面几个特点: 阅读全文
posted @ 2012-01-28 02:06 linux先生 阅读(489) 评论(0) 推荐(0)
Linux编程基础之进程等待(wait()函数)
摘要:编程过程中,有时需要让一个进程等待另一个进程,最常见的是父进程等待自己的子进程,或者父进程回收自己的子进程资源包括僵尸进程。这里简单介绍一下系统调用函数:wait() 阅读全文
posted @ 2012-01-27 03:45 linux先生 阅读(9887) 评论(1) 推荐(1)
Linux编程基础之启动新进程小结
摘要:在编程过程中经常需要启动一个新进程,有时需要从当前进程中启动其它程序来并行或替换当前进程(即切换至其它程序),这里作一个小结,总结一下常用的三种方式。 阅读全文
posted @ 2012-01-27 02:17 linux先生 阅读(817) 评论(0) 推荐(0)
Linux编程基础之时间编程小结
摘要:时间是编程过程中经常涉及到的,这部分知识其实不多,关键是把握住几个关键概念,使用起来就能思路清晰,得心应手了。 阅读全文
posted @ 2012-01-25 23:57 linux先生 阅读(449) 评论(0) 推荐(0)
Linux下文件读写操作一例(C标准库函数方式实现)
摘要:C标准库函数其实质也是调用底层的系统调用,在内核中驱动相关硬件写入磁盘的,但它也有它的优势,一是可移植性强,二是标准库为每个打开的文件都配备了一个缓冲区,以提高读写的效率,大多数的文件操作都是在缓冲区里完成的 阅读全文
posted @ 2012-01-25 14:41 linux先生 阅读(8306) 评论(0) 推荐(2)
Linux下文件读写操作一例(系统调用方式)
摘要:通过Linux系统调用方式来对文件进行读写操作知识回顾,掌握基础知识和技能 阅读全文
posted @ 2012-01-24 03:21 linux先生 阅读(1109) 评论(0) 推荐(1)
C基础知识之理解指向函数的指针
摘要:指向函数的指针首先它是一个指针变量 ,但这个指针有点特殊,它指向一个函数,一个函数的函数名其实就是一个指针,它指向函数的代码。函数的调用过程既可以通过函数名来实现,也可以通过指向该函数的指针来实现。 阅读全文
posted @ 2012-01-16 00:15 linux先生 阅读(360) 评论(0) 推荐(1)
C基本功练习1--求1~10的阶乘之和
摘要:基本功一天也不能丢的,递归和循环两种思想的运用,用循环能解决的问题,用递归一定能实现,但用递归能实现的问题循环方式不一定能解决 。 阅读全文
posted @ 2012-01-09 00:32 linux先生 阅读(3998) 评论(0) 推荐(1)
按行处理文本内容(C语言实现)
摘要:回顾标准C库中行I/O函数,其中又分格式化的行I/O和未格式化的行I/O.如fgets(),gets(),puts(),fputs(),scanf(),fscanf()等. 阅读全文
posted @ 2011-11-26 00:37 linux先生 阅读(4276) 评论(0) 推荐(0)
复制文件过程(C代码实现)
摘要:练习标准I/O读写文件,实现复制文件的简单过程。 阅读全文
posted @ 2011-11-23 12:47 linux先生 阅读(2509) 评论(0) 推荐(1)
快速排序法(C语言描述)
摘要:排序是一门很高深的学问,也是一个无止境的领域,现实中也处处离不开的,例如百度、谷歌的发家,也是靠着独有的搜索排序算法。 常用的排序方法有: 1)冒泡法;2)插入法;3)选择法;4)快速排序法;5)归并排序法; 在这里演示下快速排序法,此算法较为高效,主要思路是,先以第一个数为目标,从前后分别比较,并靠拢,快速找到该数的正确位置,然后以这个位置为界,左右分为两段, 再对这两段分别找到第一个数的正确位置,以此递归查找。 阅读全文
posted @ 2011-11-16 07:18 linux先生 阅读(626) 评论(0) 推荐(0)
二叉树的三种遍历方式(C语言描述)
摘要:二叉树是一种应用广泛的数据结构,例如操作系统中子进程与父进程,面向对象编程中的继承关系,网络拓扑结构等都有树的影子。   二叉树最常见的操作:1)先序、中序、后序遍历各节点;2)已知先序和中序或者已知中序和后序,还原出唯一的二叉树;   这里用C代码演示先序、中序和后序三种遍历: 阅读全文
posted @ 2011-11-15 14:04 linux先生 阅读(999) 评论(0) 推荐(0)
汉诺塔(hanoi)问题C代码实现
摘要:这里回顾一下递归思想的概念,即将一个复杂问题分解成一系列小的问题,并且这些小问题都具有相同的情形。此时可运用递归的思想来解决更易于理解(但并不一定是效率最高的哦);   递归算法有两个关键点:1) 有明确的终止条件(通常是分解出来的一系列小问题里最简单的那种情况); 2) 随着递归算法的演进,数据规模在递减;   另外注意的一点是递归与循环之间的关系,一般来说,用循环能解决的问题用递归也能解决,但能用递归的问题不一定能用循环解决; 阅读全文
posted @ 2011-11-10 00:37 linux先生 阅读(1237) 评论(0) 推荐(0)
循环队列基本操作(C语言描述)
摘要:循环队列也是一种常见的数据结构,它是在数组的基础上实现的,此数据结构是先进先出原则,限制了插入和删除各在一端,这里通过C代码现描述相关操作的过程实现 阅读全文
posted @ 2011-11-06 03:06 linux先生 阅读(3625) 评论(0) 推荐(0)
求子串位置的定位函数(C语言版)
摘要:求子串位置的定位函数(C语言版) 阅读全文
posted @ 2011-11-04 16:58 linux先生 阅读(1012) 评论(0) 推荐(0)
数据结构-栈的基本操作
摘要:栈是一种很重要的结构,它应用广泛,例如函数调用、中断、运算符操作等,本文主要记录一下栈的基本操作的C语言表达。 阅读全文
posted @ 2011-11-03 16:46 linux先生 阅读(444) 评论(0) 推荐(0)