![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
ctxcl
刚刚准备走编程这条路的学生
展开
-
Linux下的文件读写
一、系统调用应用程序(打开文件)-》各种库(标准库fopen)-》系统调用(open)-》内核(驱动)-》硬件(磁盘)。系统调用:内核提供给外界访问的接口函数,调用这些函数将使进程进入内核态。1、UNIX、Linux大部的系统功能都是功能是通过系统调用的方式提供的。2、这些系统调用被封装成了C函数的形式,但它们并不是C语言的一部分,也不是函数(它是通过向内核发"信号"的方式告诉内核,我要进...原创 2019-04-01 10:07:40 · 4600 阅读 · 0 评论 -
一些数据结构
一、栈和队列:栈和队列是两种应用非常广泛的数据结构,它们都是特殊的线性结构,操作受限的线性表。1、栈:(也叫堆栈)基本特征:只有一个数据出入口,因此只能后进先出(先进后出)。基本操作:压栈push、弹栈pop。2、队列基本特征:是一种先进先出的线性表,只能在一端插入数据(队尾),另一端删除数据(队头),共两个控制数据的端口。基本操作:入队、出队、查看队头、查看队尾二、链式表:表结...原创 2019-03-28 10:21:07 · 96 阅读 · 0 评论 -
关于数据结构
关于数据结构一、什么是数据结构:数据结构是研究非数值计算的,主要解决程序设计过程对象操作的问题,以及对象之间的关系和操作的相关问题(对象之间的关系,对象的操作)。1、数据结构的起源起源于1968年,美国的高纳德教授开设一门《基本算法》的课程,这门课程开创了数据结构课程体系的先河。2、程序设计=数据结构+算法二、数据结构的基本概念:数据:所有能输入到计算机中用来描述客观事物的符号。数...原创 2019-03-28 10:11:07 · 305 阅读 · 0 评论 -
线程间通信
一、线程的竞争与同步当多个线程同时访问其所共享的资源时,需要相互协调,以防止出现数据不一致、不完整的问题,这就叫线程同步。二、互斥量(互斥锁)pthread_mutex_t 互斥量就是一种特殊类型的对象,对它操作都只能使用函数执行。man手册中没有,在头文件pthread.h中。int pthread_mutex_init(pthread_mutex_t *__mutex,const p...原创 2019-04-01 10:30:18 · 157 阅读 · 0 评论 -
关于线程
一、线程的基本概念1、什么是线程:程序中负责执行的哪个东东就叫做线程(执行路线,进程内部的执行序列),或者说是进程的子任务。2、线程与进程的区别进程是一个资源单位,而线程是它的一部分。线程它是轻量级的(只有栈),没有自己独立的内核资源、共享进程的代码段、数据段、堆、环境变量表、命令行参数、文件描述符、信号处理方式、当前工作目标、用户ID、组ID等资源,除了栈,其它都共享进程的。3、一个进...原创 2019-04-01 10:28:38 · 187 阅读 · 0 评论 -
关于计算机网络
一、计算机网络1、什么是计算机网络把分布在不同位置上的计算机(PC、手机、可穿戴设备)与专门的网络设备(交换机、路由器等)用通信线程连接成一个规模大、功能强的系统,从而使用众多计算机可以方便的互相传递数据,共享软件、硬件、数据信息等。简单来说,计算机网络就是由通信线路互相连接的众多自动工作的计算机构成的集合,它是计算机技术与通信技术相结合的产物。世界第一个计算机网络叫arpanet,是苏美...原创 2019-04-01 10:23:42 · 267 阅读 · 0 评论 -
关于进程通信
一、基本概念进程间通信:Inter-Process Communication,简称IPC,指的是两个以上的进程之间进行数据交换的过程。为进程之间为什么需要通信:当解决一个庞大复杂的问题时需要多进程合作完成,而进程之间是相互独立的(fork创建出的进程子进程拷贝父进程,vfork是子进程替换父进程),进程之间想要协同配合就需要进行通信。进程间通信技术的分类:简单的进程间通信:命令行参...原创 2019-04-01 10:15:24 · 145 阅读 · 0 评论 -
关于进程
一、基本概念1、进程与程序程序就是存储在磁盘上的,包含可执行机器指令的有限集合。进程就是处在活动状态的程序,一个程序可以有多个正在运行的进程。2、进程的分类交互进程:普通的应用型的进程,有数据输入、输出。批处理进程:由脚本语言开启的进程,如:bat,shell守护进程:由操作系统开机时通过开机脚本自动启动的进程,它负责操作操作的维护和支持工作,运行在后台。3、查看进程1、简单形式...原创 2019-04-01 10:12:34 · 150 阅读 · 0 评论 -
关于信号
一、基本概念1、中断停止当前正在执行的任务,转而执行其它任务,这中行为叫中断。硬件中断:来自硬件的中断。软件中断:来自软件的中断。2、信号是一种软件中断它为进程异步执行任务提供了一种机制。3、常见的信号SIGINT 终端中断符信号 Ctrl+c 发出SIGQUIT 终端退出符信号 Ctrl + \ 发出SIGFPE 算术异常信号 程序执行的除0操作SIGSEGV 段错误停下 ...原创 2019-04-01 10:11:10 · 214 阅读 · 0 评论 -
Linux下关于文件的函数
一、lseek1、每一个打开的文件都一个与之相关的"文件位置"。2、文件位置通常情况是一个非负整数,用来度量文件从开始到结束的字节数。3、文件的读写操作都是从当前的文件位置开始的,根据所读写的字节数移动文件的位置。4、当使用open打开文件时除非设置O_APPEND参数,否则文件位置一律在开头。5、使用fseek/lseek仅是将文件位置记录在内核中,并不引发任何I/O操作。6、如果越...原创 2019-04-01 10:09:28 · 190 阅读 · 0 评论 -
关于一些基础算法
一、查找算法1、顺序查找:从头到尾逐个比较。优点:对数据没有要求,算法稳定。缺点:效率低,不适合大规模数据的查找。2、二分查找:数据必须是有序的,然后与中间值比较,比中间大则向右半部分查找,比中间值小则向左半部分查找。优点:效率高(极高)。缺点:数据必须先进行排序。3、块查找:类似于查找英文词典。二、排序算法1、冒泡:对数据的有序性是敏感,一旦排序完成会立即停止,如果待排序的数据...原创 2019-03-28 10:27:25 · 111 阅读 · 0 评论