笔记
文章平均质量分 73
_羊子_
初来乍到,请多指教!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
笔记2:结构体的概述与使用
1、结构体的声明 声明一个结构体类型一般形式: struct 结构体名 { 结构体所包含的成员变量; }; 例: struct stu { char name[20]; Int age; }; 2、定义结构体的类型变量 例: struct stu s1,s2; struct stu { char name[20]; Int age; }s1,s2;原创 2017-07-22 20:43:52 · 275 阅读 · 0 评论 -
C语言中指针的一些易错点!
1、字符数组与字符串的使用 注意:数组名是指向数组首个元素的地址。 先看个例子: #include int main() { char *str = "hello"; int len = strlen(str); int i; //直接输出字符串 printf("%s\n", str); //使用*(str+i) for(i=0;原创 2017-07-19 17:56:13 · 2576 阅读 · 0 评论 -
笔记9:Linux 文件系统编程
1、什么是系统调用 所有的操作系统都提供多种服务的入口点,程序由此向内核请求服务。这些可直接进入内核的入口点被称为系统调用。 2、什么是文件 文件是系统资源(内存、硬盘、一般设备、进程间通信的通道等)的一个抽象。对系统资源进行访问的一个通用接口。 普通文件 一般意义上的文件,作为数据存储在磁盘中,可以随机访问文件的内容。Linux系统中的文件是面向字节的,原创 2017-08-07 19:33:56 · 664 阅读 · 0 评论 -
笔记4:队列
1、顺序队列 #ifndef __SQQUEUE_H__ #define __SQQUEUE_H__ #include "error.h" #define TRUE 1 #define FALSE 0 #define SIZE 10 typedef int QueueData; typedef struct _queue { QueueData data[SIZE]; int fron原创 2017-08-01 21:00:48 · 197 阅读 · 0 评论 -
头结点链表的三种插入结点方式
1、头文件(.h) #ifndef __LINKLIST_H__ #define __LINKLIST_H__ #define FALSE 0 #define TRUE 1 typedef int LinkData; typedef struct _node { LinkData data; struct _node * next; }Node; // 创建链表 Node * Cre原创 2017-07-25 20:36:23 · 1484 阅读 · 0 评论 -
笔记10: 进程控制的基本概念
1、进程 (1)进程狱程序的区别 程序是放到磁盘的可执行文件。 进程是指程序执行的实例。 (2)进程的地址空间 分配给每个进程的内存(memory)由一系列段(segments)组成: ①text segment(代码段) 包含机器语言指令。通常是只读的、共享的。 ②initialized data segment(初始化数据段原创 2017-08-09 19:45:53 · 518 阅读 · 0 评论 -
笔记5:顺序表
#ifndef __SEQLIST_H__ #define __SEQLIST_H__ #define FALSE -1 #define TRUE 0 #define INIT_SIZE 100 #define INCRESS_SIZE 20 typedef int SeqData; // 顺序表结构 typedef struct _seqList { SeqDa原创 2017-08-02 19:39:21 · 248 阅读 · 0 评论 -
笔记6:链表(三种:头指针、头结点、头结点循环)
1、头指针链表 #include #include #define TRUE 1 #define FALSE 0 typedef int LinkData; // 链表的数据类型 typedef struct _node { LinkData data; // 链表的数据 struct _node *next; // 指向链表下一个结点的指针 }N原创 2017-08-03 20:35:50 · 523 阅读 · 0 评论 -
几种常见的排序(一)
1、冒泡排序: 冒泡排序是一种极其简单的排序算法,也是我所学的第一个排序算法。它重复地走访过要排序的元素,依次比较相邻两个元素,如果他们的顺序错误就把他们调换过来,直到没有元素再需要交换,排序完成。这个算法的名字由来是因为越小(或越大)的元素会经由交换慢慢“浮”到数列的顶端。 冒泡排序算法的运作如下: ①比较相邻的元素,如果前一个比后一个大,就把它们两个调换位置。 ②对每一对相邻元原创 2017-08-04 17:40:16 · 479 阅读 · 0 评论 -
笔记3:栈
栈的定义: 只允许在一端插入和删除的线性表; 允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom)。 栈的特点: 后进先出 (LIFO)。 1、顺序栈 #ifndef __SQSTACK_H__ #define __SQSTACK_H__ #include "error.h" #define TRUE 1 #define FALSE 0 #de原创 2017-07-28 20:41:44 · 236 阅读 · 0 评论 -
几种常见的排序(二)
1、希尔排序 #include void swap (int *a, int i, int j) { int tmp; tmp = a[i]; a[i] = a[j]; a[j] = tmp; } void printfA (int *a, int len) { int i; for (i = 0; i < len; i++) { printf ("%4d", a[i])原创 2017-08-06 19:08:35 · 251 阅读 · 0 评论 -
笔记1:函数的概述与递归函数
1、函数的概述 函数(Function)是一段可以重复使用的代码,除了C语言自带的函数,我们也可以编写自己的函数,称为自定义函数。 函数三要素: ①返回值:由关键字 return 进行返回; ②函数名;由数字、字母、下划线组成,不能以数字开头; ③函数参数。放在括号 () 内,每一个参数之间用逗号原创 2017-07-21 20:02:37 · 334 阅读 · 0 评论 -
笔记7:树
1、树的定义: 树是一种非线性的数据结构 树是由 n ( n ≥0 ) 个结点组成的有限集合 如果 n = 0,称为空树; 如果 n > 0,则: 有一个特定的称之为根(root)的结点,它只有直接后继,但没有直接前驱。 除根以外的其它结点划分为 m (m ≥0) 个互不相交的有限集合T0,T1,…,Tm-1,每个集合又是一棵树,并且称之为根的子树。 2、原创 2017-08-06 20:01:59 · 286 阅读 · 0 评论 -
笔记8:二叉树
二叉树的定义: 二叉树是由 n ( n ≥0 ) 个结点组成的有限集 合,该集合或者为空,或者是由一个根结点加 上两棵分别称为左子树和右子树的、互不相交 的二叉树组成。 程序如下: #ifndef __BTREE_H__ #define __BTREE_H__ #define BLEFT 0 // 表示插入二叉树的左边 #define BRIGHT 1 // 表示插入二叉原创 2017-08-06 20:05:35 · 314 阅读 · 0 评论 -
笔记11:进程控制编程
1、获取进程的id 头文件: #include #include 函数原型: 获取本进程ID pid_t getpid(void) 获取父进程ID pid_t getppid(void) 获取用户ID pid_t getuid(void) 例: #include #include #include int main() { pr原创 2017-08-11 19:44:52 · 375 阅读 · 0 评论
分享