自定义博客皮肤

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

linux:Signal ()函数

1. 功能 设置某一信号的对应动作 2. 声明 #include typedef void (*sighandler_t)(int); sighandler_t signal(int signum, sighandler_t handler); 3. 参数说明  第一个参数signum...

2017-11-20 16:53:45

阅读数 80

评论数 0

linux:exec系列进程替换函数

一.exec替换进程映像 引: fork函数是用于创建一个子进程,该子进程几乎是父进程的副本,而有时我们希望子进程去执行另外的程序,exec函数族就提供了一个在进程中启动另一个程序执行的方法。它可以根据指定的文件名或目录名找到可执行文件,并用它来取代原调用进程的数据段、代码段和堆栈段,...

2017-11-20 16:44:03

阅读数 473

评论数 0

数据结构:队列

队列: 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。 队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除...

2017-11-14 12:24:42

阅读数 77

评论数 0

数据结构:顺序栈与链栈

栈(stack): 概念:栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈...

2017-11-13 15:10:57

阅读数 226

评论数 0

C语言:可变参数编程

可变参数编程: 一般我们编程的时候,函数中形式参数的数目通常是确定的,在调用时要依次给出与形式参数对应的实际参数。但在某些情况下我们希望函数的参数个数可以根据需要确定,因此c语言引入可变参数函数。 典型的可变参数函数的例子有printf()、scanf()等 int printf(const ...

2017-11-11 23:14:19

阅读数 140

评论数 0

Linux系统调用的实现机制分析

1       系统调用意义 linux内核中设置了一组用于实现系统功能的子程序,称为系统调用。系统调用和普通库函数调用非常相似,只是系统调用由操作系统核心提供,运行于核心态,而普通的函数调用由函数库或用户自己提供,运行于用户态。   一般的,进程是不能访问内核的。它不能访问内核所占内存空间...

2017-11-05 10:51:31

阅读数 92

评论数 0

数据结构:不带头结点的单链表

不带头结点的单链表: 1.不带头结点的单链表操作中,除了初始化,头插,尾插,删除,操作与带头结点的单链表有差别外,其它的操作基本上一样。 2.链表指针直接指向了首元节点,因此在首元节点前插入数据元素或者删除首元节点元素都会改变头指针的值。所以这里要引入二级指针。 typede...

2017-11-04 09:20:27

阅读数 4241

评论数 1

数据结构:单链表,循环链表,双项链表的实现

单链表: 单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。 ①:链表通过每个结点的链域...

2017-11-03 15:18:41

阅读数 104

评论数 0

linux:关于fork()的例题

下面这段代码输出几个a? int main() { fork()||fork(); printf("a\n"); exit(0); } 答案是3个,下面我们来一起分析一下: 父子进程的pid是题目的关键,pid=0,ppid!=...

2017-11-01 09:22:52

阅读数 130

评论数 0

老鼠试药问题

问题: 现有一千瓶药水,其中九百九十九瓶是完全一样的,只有一瓶里面是毒药,但是外观上分辨不出来。毒药给小白鼠喝了后,一星期后这只小白鼠会突然死亡,但之前一点症状也没有。现需要在一星期后找出哪瓶是毒药,问至少需要几只小白鼠? 这是一个求最优解的问题。这个问题需要把一个老鼠能使用的信息用到...

2017-10-31 21:29:09

阅读数 631

评论数 0

linux:僵死进程

在linux中,正常情况下,子进程是通过父进程创建的,子进程在创建新的进程。子进程的结束和父进程的运行是一个异步过程,即父进程永远无法预测子进程 到底什么时候结束。 当一个 进程完成它的工作终止之后,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态。   孤儿进程:...

2017-10-31 08:11:25

阅读数 101

评论数 0

linux:fork()函数

一起学习Linux下的C编程,就从利用fork开辟一个新的进程开始吧。 我们先来谈一谈fork()函数: fork函数 函数原型 pid_t fork( void); (pid_t 是一个宏定义,其实质是int 被定义在#include中) !返回值: 若成功调用一次则返回两个值,子进程返...

2017-10-30 15:23:58

阅读数 66

评论数 0

linux:进程 & 页表

在学习liinux的过程中,多处渗透着操作系统的知识,下面做一些自己对于fork函数的理解的总结。 fork函数系统调用可实现进程的复制,那么我们先说一说进程。 进程,主要包含三个元素: o. 一个可以执行的程序; o. 和该进程相关联的全部数据(包括变量,内存空间,缓冲区等等); o...

2017-10-29 20:46:07

阅读数 848

评论数 0

C语言:机器的大小端

C语言中判断大小端的方法 : 所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;小端模式相反。 为什么会有大小端模式之分呢? 这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是在C语言中除了8bit的ch...

2017-10-28 16:21:39

阅读数 65

评论数 0

C语言:内存重叠

内存重叠:拷贝的目的地址在源地址范围内。所谓内存重叠就是拷贝的目的地址和源地址有重叠。 在函数strcpy和函数memcpy都没有对内存重叠做处理的,使用这两个函数的时候只有程序员自己保证源地址和目标地址不重叠,或者使用memmove函数进行内存拷贝。 memmove函数对内存重叠做了...

2017-10-27 13:37:36

阅读数 105

评论数 0

C语言:文件函数 fopen(),fclose(),fwrite(),fread()

文件打开函数:fopen fopen函数是在当前目录下打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件方式);  ex: FILE *fr = fopen(srcpath,"r"); FILE *fw = fopen(despath,&...

2017-10-26 16:25:17

阅读数 1191

评论数 0

linux:int main(int argc,char *argv[],char *envp[])

int     main(   int   argc   ,   char   *argv[ ]   ,   char   *envp[ ]   ) 详解:  main函数的参数列表保存了输入参数的信息: 第一个参数argc记录了输入参数的个数。 第二个参数是字符串数组的,字符串数组的每个单元...

2017-10-24 18:36:16

阅读数 233

评论数 0

C语言:递归

递归算法: 递归算法是把问题转化为规模缩小了的同类问题的子问题。然后递归调用函数(或过程)来表示问题的解。 一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数). 如何设计递归算法 1.确定递归公式 2.确定边界(终了)条件 递归与栈: 函数递归是利用系...

2017-10-24 12:23:55

阅读数 3321

评论数 1

C语言:结构体

struct: “结构体”是一种构造数据类型,现在一般叫做用户自定义数据类型,它是由若干“成员”组成的。 每一个成员可以是一个基本数据类型或者又是一个构造类型。 结构即是一种“构造”而成的数据类型, 那么在说明和使用之前必须先定义它,也就是构造它。如同在说明和调用函数之前要先定义一样。 定义一...

2017-10-24 09:37:16

阅读数 85

评论数 0

C语言:字符串函数的实现

字符串函数: 如何自己编写strlen,strcpy, strcat, strcmp, atoi , itoa 1.strlen:计算字符串长度. 它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数...

2017-10-23 20:25:02

阅读数 95

评论数 0

提示
确定要删除当前文章?
取消 删除