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