自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 信号通信

信号的产生信号(signal)机制是Unix系统中最古老的进程间通信机制,很多条件可以产生一个信号: 1、当用户按某些按键时,产生信号   2、硬件异常产生信号:除数为0、无效的存储访问等等。这些情况通常由硬件检测到,将其通知内核,然后内核产生适当的信号通知进程,例如,内核对正访问一个无效存储区的进程产生一个SIGSEGV信号     3、进程用kill函数将信号发送给另一个进程   ...

2018-08-24 10:06:01 721

原创 进程控制编程

进程创建fork()#include <unistd.h> pid_t fork(void) 功能:创建子进程      fork的奇妙之处在于它被调用一次,却返回两次,它可能有三种不同的返回值:1、在父进程中,fork返回新创建的子进程的PID;2、在子进程中,fork返回0;3、如果出现错误,fork返回一个负值关于fork()的几点说明 :1.当for...

2018-08-19 18:12:54 207

转载 C语言学习历程(6)——文件编程

文件的概念文件是系统资源(内存、硬盘、一般设备、进程间通信的通道等)的一个抽象,对系统资源进行访问的一个通用接口。采用这种“文件”的方式有什么好处?对资源提供通用的操作接口,可以极大地简化系统编程接口的设计。常见的文件类型(可以通过文件来访问的系统资源)有:普通文件:一般意义上的文件,作为数据存储在磁盘中,可以进行随机访问。Linux系统中的文件是面向字节的,文件的内容以字节为单位...

2018-08-15 17:28:46 335

原创 快速排序

快速排序快速排序是一种非常高效的排序,采用“分而治之”的思想,将序列分成两部分,前部分的所有数据都小于后半部分,再将前半部分和后半部分拆分成两部分,这两部分的前半部分又都小于后半部分,按这样的规律排序下去,就会将整个序列按从小到大的顺序排列完成。那么具体是如何实现的,让我通过实例具体讲解一下。 以数组a[] = {28, 17, 6, 18, 37, 3, 20, 31}为例; 我以每...

2018-08-10 19:16:49 330

原创 堆排序

堆排序堆排序是将序列人为的类比做堆来处理,分为大堆和小堆,大堆就是双亲结点大于孩子结点,这里的孩子自身可能也是“双亲”,那么这个“双亲”还要大于它的孩子,小堆于此相反。 当所有结点满足这个大堆的条件后,最上面的根节点肯定是这个序列中最大的数,然后我们将这个数与最后一个结点交换,再对除了最后一个结点外的所有结点进行大堆处理,依次反复,最终会将这个序列排成从小到大的顺序。下面,让我们结合图来...

2018-08-09 20:41:14 239

原创 三种简单的排序——冒泡 选择 插入

冒泡排序:是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过                        来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为                    越小的元素会经由交换慢慢“浮”到数列的顶端。 选择排序:是一种简单直观的排序算法。它的工作原理如...

2018-08-09 09:39:58 502

原创 C语言学习历程(5)——单链表

单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。这下面是我自己打的,语句运用不当之处还请指正!#include <stdio.h>#include <stdlib.h>...

2018-08-03 21:01:45 163

原创 C语言学习历程(4)——指针

指针与变量数据在内存中的地址也称为指针,如果一个变量存储了一份数据的指针,我们就称它为指针变量。指针变量存储了数据的地址,通过指针变量能够获得该地址上的数据,格式为:*pointer;        //这里的*称为指针运算符,用来取得某个地址上的数据 如:int x = 10;int y = 20;int *px = &x;int *py = &y;y...

2018-07-30 08:37:05 220

转载 C语言学习历程(3)——函数

自定义函数函数是一段可以重复使用的代码,用来独立地完成某个功能,它可以接收用户传递的数据,也可以不接收。 一、无参函数的定义 如果函数不接收用户传递的数据,那么定义时可以不带参数。如下所示:返回值类型  函数名(){    函数体}说明:返回值类型可以是C语言中的任意数据类型,例如 int、float、char、void等。函数名是标识符的一种,命名规则和标识符相同。函...

2018-07-26 19:21:43 294

转载 C语言学习历程(2)——数组

一维数组1.一维数组的定义格式为:类型说明符 数组名[常量表达式];例如: int a[10];  它表示定义了一个整形数组,数组名为a,有10个整形元素。        2.在定义数组时,需要指定数组中元素的个数,方括弧中的常量表达式用来表示元素的个数,即数组长度。        3.常量表达式中可以包括常量和符号常量,但不能包含变量。        注意:   ...

2018-07-25 19:19:24 269

原创 C语言的学习历程(1)

数据输入输出C语言中没有提供对数据的输入和输出语句。但提供了一些可完成数据输入输出的标准函数,4个基本输入和输出函数为:getchar()、putchar()、printf()和scanf() 。  putchar()函数功能:向终端输出一个字符。格式:   putchar (ch) #include  "stdio.h"int main(){         char...

2018-07-22 20:05:28 345

转载 linux学习历程(2)Linux下C语言开发环境

编辑器vimVi是Linux系统中一种文本编辑器,它的使用方法和界面与Unix平台十分相似。vim 是vi的高级版本,兼容vi,功能更强大。vi的三种模式命令行模式开始编辑命令i           在光标前输入文本o          在当前行后输入新一行O          在当前行前输入新一行删除命令x      删除光标所在的字符dw    删除光标所在的...

2018-07-20 15:19:57 283

原创 linux学习历程(1)

linux的开发环境linux是一种得到广泛使用的操作系统,由芬兰人Linux Torvolds最早开发。 linux最开始就是一个开放的系统,始终遵循着源代码开放的原则。 严格来说linux只是一个操作系统内核,它实现了操作系统核心功能:内存管理  进程管理  文件系统管理  设备管理参数命令与选项命令选项有两种约定俗成的形式:长格式和短格式。    长格式用两个减号加...

2018-07-18 16:22:19 254

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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