自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux的进程间通信

现在Linux使用的进程间通信方式包括:1、管道(pipe)和有名管道(FIFO)2、信号(signal)3、消息队列4、共享内存5、信号量6、套接字(socket)管道通信管道是单向的、先进先出的,它把一个进程的输出和另一个进程的输入连接在一起。 一个进程(写进程)在管道的尾部写入数据,另一个进程(读进程)从管道的头部读出数据。管道提供了简单的流控制机制...

2018-08-19 11:22:15 267

原创 Linux的进程控制的初步学习

定义:进程是一个具有一定独立功能的程序的一次运行活动,同时也是资源分配的最小单元;程序是放到磁盘的可执行文件 进程是指程序执行的实例进程和程序的区别:进程是动态的,程序是静态的;进程是暂时的,程序使长久的;进程与程序组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息)进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多...

2018-08-15 20:59:20 231

原创 将结构体数据保存写入到文件中

利用系统接口,将结构体数据写入到文件中。/*********************************** File Name: copy.c Author: Lifengyu Created Time: 2018.8.13 ***********************************/#include <stdio.h>#include &...

2018-08-13 20:53:08 10345 1

原创 七大排序的源代码

插入排序#include <stdio.h>int Insertsort(int b[], int n){ int i, j; int tmp; for(i = 1; i < n; i++) { tmp = b[i]; for(j = i - 1; j >= 0; j--)...

2018-08-12 20:56:36 233

原创 利用链式队列输出杨辉三角形和算法输出杨辉三角形

链式队列头文件#ifndef _SEQUENCEQUEUE_H#define _SEQUENCEQUEUE_H#include <stdio.h>#include <stdlib.h>#define SIZE 1000#define SUCCESS 10000#define FAILURE 10001#define TRUE ...

2018-08-10 20:29:58 1704

原创 关于二叉树的三种遍历方式

首先我们定义了一个结构体 node,结构体内有用来存放数据的data和指针 left 和 right 。struct node{ int data; struct node * rigth, *left;};typedef struct node TreeNode; 定义完结构体后,先定义一个数组,用来存放结点内容,那我们就要先创建这么多的结点。TreeNode *...

2018-08-10 20:05:19 167

原创 数据结构——队列

队列:队列是特殊的线性表。队列的抽象数据模型:    1)初始化操作,建立一个空队列Q;    2)若队列存在,则销毁它;   3)将队列清空;4)若队列Q为空,返回true,否则返回false;  5)若队列Q存在且非空,用e返回队列Q的队头元素;6)若队列Q存在,插入新元素e到队列Q中,并成功称为队尾元素;  7)删除队列Q中队头元素,并用e返...

2018-08-08 21:23:04 181

原创 完成中缀表达式转后缀表达式的计算器——利用链式栈代码

逆波兰表达式:逆波兰表达式又叫做后缀表达式。逆波兰表达式是一种十分有用的表达式,它将复杂表达式转换为可以依靠简单的操作得到计算结果的表达式。Sample:a+b ---> a,b,+a+(b-c)*d ---> a,b,c,-,d,*,+a+d*(b-c)--->a,d,b,c,-,*,+ 转换思路:在表达式中的转换规则操作数 :进栈...

2018-08-08 20:55:36 425

原创 数据结构之——关于单链表的头插法和尾插法的代码和思路

头插法思路:每次插入都在第一个节点之前,头结点之后,那每次插入时的赋值就只要将头结点的地址赋给插入的节点,然后将插入的节点的地址依次给后面节点就可以了。1、定义一个要插入的节点q2、q->data内给值e3、q->next = p->next;建立后续节点。4、p->next = q;建立前驱节点。int FirstInsert(Node *l,...

2018-08-07 21:14:15 815

原创 顺序表与链表的比较!

基于空间的比较:存储分配的方式 :顺序表的存储空间是静态分配的 链表的存储空间是动态分配的存储密度 = 结点数据本身所占的存储量/结点结构所占的存储总量 :顺序表的存储密度 = 1 ;链表的存储密度 < 1。基于时间的比较:存取方式 :顺序表可以随机存取,也可以顺序存取 链表是顺序存取的插入/删除时移动元素个数 :顺序表平均需要移动近一半元素 链表不...

2018-08-06 19:50:20 606

原创 数据结构之——栈

栈:栈是一个特殊的线性表,只能在一端操作。栈的操作遵循“先进后出(后进先出)”原则! 空栈:不含任何数据元素的栈,top=-1;栈中有一个元素时,top=0;栈的抽象数据类型:插入和删除:push,pop  同线性表。  元素具有相同的类型,相邻元素具有前驱和后继的的关系。  操作:初始化操作,建立空栈S;   若栈存在,就销毁它;   将栈清空;  ...

2018-08-06 19:34:49 156

原创 用链表实现通讯录的基本功能

头文件#ifndef _ADL_LINKLIST_H#define _ADL_LINKLIST_H#define N 20#define M 100#define FAILURE 10001#define SUCCESS 10002/*颜色管理*/#define NONE "\033[m" #define RED "\033[0;3...

2018-08-06 19:24:36 380 1

原创 关于单链表的简单操作代码

头文件#ifndef _LINKLIST1_H#define _LINKLIST1_H#define FAILURE 10000#define SUCCESS 10001#define TRUE 10002#define FALSE 10003typedef int Elemtype;struct node{ Elemtype data; //数据域 s...

2018-08-04 21:30:37 233

原创 利用顺序表写一个插入排序的功能

头文件#ifndef _SEQUENCELIST_H#define _SEQUENCELIST_H#define SIZE 20#define SUCCESS 10000 #define FAILURE 100001typedef int Elemtype;struct Sequencelist{ int length; //数据域 E...

2018-08-03 21:13:00 787

原创 关于顺序表—线性表的基础操作代码

头文件#ifndef _SEQUENCELIST_H#define _SEQUENCELIST_H#define SIZE 10#define SUCCESS 10000 #define FAILURE 100001#define TRUE 100002#define FALSE 100003typedef int Elemtype;struct Sequencel...

2018-08-02 20:57:11 423

原创 用指针重新写strcpy、strcmp、strlen函数

利用指针运算实现库函数中的strcpy#include<stdio.h> char *mystrcpy(char *str, const char *ptr){ char *tmp = str; while((*str++ = *ptr++) != '\0');// 先执行*str = *ptr 再++; return tmp;//返回值...

2018-08-01 16:25:13 749

原创 在Linux下,通过printf函数改变输出字符的颜色。

 在Linux终端下调试程序时,有时需要输出大量信息。若能控制字体的颜色和显示方式,可使输出信息对比鲜明,便于调试时观察数据。例如下图就可以增加界面的美观性。   printf(YELLOW"*********************************\n"NONE); printf(GREEN"****------------*------------****...

2018-08-01 10:19:57 1427 1

原创 关于结构体的一点小知识

结构体和链表用结构体建立链表 :struct student{ int num; float score;  struct student *next ;};其中成员num和score用来存放结点中的有用数据(用户需要用到的数据),next是指针类型的成员,它指向struct student类型数据(这就是next所在的结构体类型)。共同体使几个不同的...

2018-08-01 09:14:24 304

原创 typedef 的使用方法详解、goto语句的使用方法。

typedef C语言支持一*种叫作typedef的机制,它允许你为各种数据类型定义新名字。typedef 声明的写法和普通的声明基本相同,只是把typedef这个关键字出现在声明的前面。例如,下面这个声明:char    *ptr_ to_ char;把变量ptr_ to_ char 声明为-一个指向字符的指针。但是,在你添加关键字typedef后,声明变为:typedef  ...

2018-07-30 17:25:46 259

原创 判断大小端字节序的方法代码

字节序1、大端字节序:高字节存放在低地址,低字节存放在高地址。2、小端字节序:高字节存放在高地址,高字节存放在低地址。★:字节序由计算机决定,可以用代码查询。​#include <stdio.h>union test{ short val; char array[2];};int main(){ union test t; t.val ...

2018-07-29 22:41:40 551

原创 const 修饰变量的含义、结构体格式和内存存储和内存动态分配

const 具体使用!1,const  int p;    //是一个常整型数,只读变量,不能通过p修改对应内存里的值2,int const p;     //同上,int  和 const 相邻时位置可互换       常整型数3,int const  *p;  //去掉类型int, const修饰*p, (*p)++不可以,p所指向空间的值不可以改变,p++是对的,p指针可以后移...

2018-07-29 22:32:50 1529 1

原创 一题整数算法问题和三题字符串问题!

整数算法1、输入5个数(含负数、小数)将它们按由小到大的顺序排列起来。#include<stdio.h>#include<stdlib.h>int main(int argc, char *argv[]){ int i, j; float a[30]; float tmp = 0.0; for(i = 1; i <...

2018-07-28 20:17:14 145

原创 当指针和函数、数组在一起了,那么可怕的事情就发生了!

函数与指针函数指针变量定义的一般形式为:  类型说明符 (*指针变量名)(); 例如:int (*pf)();表示一个pf指针是一个指向函数的指针变量,该函数的返回值是整型。(*p)的两边的括号不能少。定义指针型函数的一般形式为: 类型说明符 *函数名(形参表)                                                          { ...

2018-07-27 21:06:59 143

原创 利用C语言中数组和结构体,初步完成通讯录功能

概括:用结构体和数组,实现通讯录功能。目前完成六个基础功能:添加、查看、删除、查找、修改、排序。若有好的建议或意见,欢迎留言!#include<stdio.h>#include<string.h>#include<stdlib.h> #define N 15#define M 100 void showscreen();voi...

2018-07-26 20:43:35 781 1

原创 C语言中指针的初步认知

指针是什么?指针是变量的一种,所有类型的指针长度都是4个字节。&是取地址运算符,*是指针运算符。 所以:&a === 0x1000x100 0x101 0x102 0x103                                                                                   ...

2018-07-25 21:22:02 198

原创 宏定义函数与自定义函数的区别

宏定义函数:宏定义函数可以分为无参数宏函数和有参数宏函数。无参数宏函数:#define OUT printf("helloworld!\n")int main(){ OUT; return 0;}输出结果:helloworld!有参数宏函数:#define P(s) printf("%s\n", s)int main(){ P("abc...

2018-07-25 19:16:04 752

原创 C语言中printf内输出加“\n”的作用

一般我们编程,在输出语句printf中通常在输出语句结束时,加上“\n”,那么,这个“\n”的作用是什么呢?“\n”起刷新缓冲区的作用。例:我们定义一个元素为1-5的数组a,用for循环让a顺序输出元素。#include<stdio.h>int main(){ char a[5] = { 1, 2, 3, 4, 5}; int i; ...

2018-07-25 19:02:36 30089 10

原创 关于整数算法题目的编程

1、题目:通过编程实现,统计1~n有多少个9 (提示:n通过参数传入int)#include<stdio.h>int main(){ int n, m; int i, j; int count=0; printf("输入一个n值:\n"); scanf("%d", &n); for(i = 1; i <= ...

2018-07-24 20:16:49 303

原创 对于C语言中函数的初步学习

自定义函数:格式:函数类型     函数名(形式参数类型说明表)            {     声明部分                       执行部分            } 函数调用的形式:(1)作为函数语句调用。函数一般无返回值。例: printf(“Hello,World!\n”);(2)作为函数表达式调用。例: m=max(a,b)*2;...

2018-07-23 21:25:24 744

原创 对于C语言中的数组的学习

一维数组:格式:类型说明符   数组名  【常量表达式】 ;   例如: int  a  【10】;它表示定义了一个整形数组,数组名为a,有10个元素。★:不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。错误示例: 1、float a[0];        数组大小为0没有意义                      2、int b(2)(3); ...

2018-07-23 21:00:29 901 1

原创 理解C语言算法的实现,以三道题目为例

 #include<stdio.h>int main(){ long i; int j; printf("Please input number:"); scanf("%ld",&i); for(j=999;j>=100;j--) { if(i % j == 0) ...

2018-07-22 21:24:06 183

原创 C语言的基本数据类型和运算符表达式

内容:1、C语言中的基本数据类型            2、运算符与表达式            3、控制结构            4、循环语句数据类型: 类型 字节大小 位数 表示范围(有/无) int 4 32   float 4 32   double 8 64   ...

2018-07-21 21:08:49 362

原创 Linux下的gdb调试工具和shell脚本的接触

内容:1、gdb调试工具的学习。gdb是gun的调试工具,它可以跟踪被调试的程序,进行设置断点、单步执行等操作。当程序暂停执行时,可以使用命令查看程序中的变量值、CPU的寄存器值、内存的值以及函数调用栈等信息。调试步骤:用-g参数将调试信息编入目标文件xx中     gcc -g xx.c -o xx用命令启动对程序app的调试:  gdb xx若程序xx运行时需要参数,则用以下...

2018-07-20 20:01:12 1534

原创 在虚拟机下Linux操作系统的命令

内容:1、vim编辑的三种模式。            2、gcc编译器的指令学习。            3、makefile工程管理器的基础学习。Linux常用命令:1、用户管理类命令:useradd;usedel;passwd;su;groupadd; groupdel2、文件目录类命令: ls;cd;touch;cp;mv;rm;chmod; mkdir;du;pwd...

2018-07-19 20:17:32 319

原创 Liunx的常用指令的学习

内容:对于Liunx的常用指令的学习,文件处理命令和安全管理命令各5个。文件处理命令:file、find、dd、diff、cat。系统安全相关命令:umask、chgrp、passwd、chattr、sudo。                 文件处理命令:                                          ★  file:         ...

2018-07-19 09:35:43 226

空空如也

空空如也

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

TA关注的人

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