c
神宫桥小霸王
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
socket套接字
一、套接字基本特点:socket是一种接口技术,被抽象成一个文件操作,可以让进程之间通信,也可以让不同计算机的进程通信(网络)。int socket(int domain, int type, int protocol);功能:创建套接字domain: AF_UNIX/AF_LOCAL 本地通信,进程间通信 AF_INET 基于IPv4地址通信 AF_INET6 基于IPv6地址通信type: SOCK_STREAM 数据流协议 SOCK_DGRAM 数据原创 2020-09-01 20:57:03 · 982 阅读 · 3 评论 -
进程与线程
进程基本概念:1、进程与程序程序就是存储在磁盘上的可执行文件,程序被加载到内存中开始运行叫进程。一个程序可以被多次加载生成多个进程,进程就是处于活动状态的计算机程序。2、进程的分类进程一般分为三种类型:交互进程、批处理进程、守护进程。守护进程一般都处于活跃状态,运行在后台,由于系统在开机时通过启动脚本自动创建的。3、查看进程简单形式:ps 显示当前用户有控制终端的进程信息。列表形式:ps auxw 显示进程详细信息a 所有用户的有控制终端的进程x 无终端控制的进程u 显示进程的详细信息原创 2020-08-27 20:58:04 · 169 阅读 · 5 评论 -
消息队列
消息队列:基本特点:是由内核负责维护管理的数据链表,通过消息类型收发数据。int msgget(key_t key, int msgflg);功能:创建/获取消息队列key:IPC键值msgflg:IPC_CREAT 创建消息队列IPC_EXCL 如果消息队列已经存在则返回错误mode_flags:创建消息队列时需要提供权限返回值:成功返回IPC标识符,错误返回-1。int msgsnd(int msqid, const void *msgp, size_t msgsz, int msg原创 2020-08-27 20:24:59 · 847 阅读 · 3 评论 -
Linux/Unix 系统简介
UNIX系统介绍:最早版于1970年问世于贝尔实验室,作者是丹尼斯.里奇和肯.汤普逊。是最早的多用户、多任务、支持多种CPU架构,高安全性、高稳定性、高可靠性。既能构架大型关键性业务系统的商用服务器,也能支持嵌入式设备。MiniX基于微内核加载的类UNIX系统,名为MINIX(即小型的UNIX),并开放全部源代码给大学教学和研究工作,Linux之父林纳克斯,正是在受了MiniX的启发,才开发了Linux系统。Linux系统介绍:Linux,全称GNU/Linux,其内核由林纳斯・托瓦兹于199原创 2020-08-20 14:50:22 · 1623 阅读 · 6 评论 -
操作系统
一、内存管理用户层STL 自动分配/释放内存 调用C++C++ new/delete 调用CC malloc/free 调用POSIXPOSIX brk/sbrk 调用LinuxLinux mmap/munmap 调用内核系统层kernal kmalloc/vmalloc 调用驱动driver get_free_page二、进程映像程序是存储在磁盘上的可执行文件,当执行程序时,系统会将可执行文件加载到同原创 2020-08-20 14:46:28 · 191 阅读 · 0 评论 -
数组与矩阵
数组与矩阵:数组:存储空间连接的表结构。矩阵:带二维信息的数据,一般使用二维数据来存储矩阵。特殊矩阵:上三角形矩阵:[0][1][3][6][ ][2][4][7][ ][ ][5][8][ ][ ][ ][9]压缩方法:用一维数组进行存储数组的长度:(n+1)*n/2对应关系:(j+1)*j/2+ii和j要满足:i<=j下三角形矩阵[0][ ][ ][ ][1][2][ ][ ][3][4][5][ ][6][7][8][9]压缩方法:用一维数组进行存储数组的长原创 2020-08-17 21:45:44 · 465 阅读 · 0 评论 -
树
树型结构:1、树的基本概念一种表示层次关系的(一对多)数据结构。有且仅有一个特定的节点,该节点没有前驱,被称为根节点。剩余的n个互不相交的子集,其中每个子集也都是一棵树,被称为根节点的子树。注意:树型结构具有递归性(树中有树)。2、树的表示方法:倒悬树、嵌套法、凹凸法。3、树的专业术语:节点:组成树的基础元素,同时它也是一棵树。节点的度:该节点子树的数量。树的度(密度):树中节点的数量。叶子节点:节点的度为0的节点。双亲和孩子:节点的子树被称为孩子节点,该节点就是它们的双亲。兄弟:原创 2020-08-17 21:43:56 · 133 阅读 · 0 评论 -
AVL ,图,查找算法
平衡二叉树:前提是有序的二叉树,它的左右子树的高相差不超过1,它的所有的子树也要满足这个要求。如果一个有序二叉树呈单支状(接近单支),它的效率接近链表,因此只有达到平衡时它的效率才最高。由于节点的位置受值的影响,因此只能进行调整,而不能强行修改。二叉树不平衡的基础原因: x y / \ / \ y t1 以为轴向右旋转 z x /原创 2020-08-17 21:42:32 · 223 阅读 · 0 评论 -
十大排序算法
算法的时间复杂度并不能代表算法的实际执行时间,有些时候看似复杂度高的速度反面快。查找算法:顺序查找:对待查找的数据没有要求,时间复杂度: O(n)二分查找:对待查找的数据必须有序,时间复杂度: O(logn)块查找:是一种数据处理的思想,不是特定的算法,当数据量过多时,可以先把数据进行分块处理,然后再进行查找,例如英语词典。哈希查找:数据 经过哈希函数 计算出数据在哈希表中的位置,然后标记,方便之后的查找,它的时间复试度最快能达到:O(1)。但是该算法有很大局限性,不适合浮点型、字符串型原创 2020-08-17 21:40:59 · 225 阅读 · 0 评论 -
Makefile与宏
预处理指令:C代码不能直接被编译器编译,需要一段程序把它翻译一下,负责翻译的程序叫作预处理器,,翻译的过程叫预处理,被翻译的语句叫预处理指令,以#开头都是预处理指令。gcc -E code.c 查看预处理结果gcc -E code.c -o code.i 把预处理的结果保存在文件中。1、文件包含 #include 把一个头文件导入到当前文件中。 #include <> 从系统指定的路径查找并导入头文件。 #include "" 先从当前路径下查找,原创 2020-07-27 20:46:59 · 593 阅读 · 0 评论 -
字符串
字符串:由字符组成的串型结构,’\0’是它的结束标志。存在形式:字符串字面值:存储在代码段 只读 修改会产生段错误 地址 末尾有隐藏的’\0’const char* str = “hehe”;sizeof(“xixihaha”) 结果是9字符数组:栈内存 可以修改 要为’\0’预留位置一般使用字符串字面值初始化字符数组。char str[4] = “hehe”; // 不建议设置数组长度输入:char str[255];scanf("%s",str); 不能输入带空格的字符串gets原创 2020-07-27 20:45:36 · 125 阅读 · 0 评论 -
内存管理
什么是堆内存:是进程的一个内存段(text、data、bss、heap、stack),由程序员手动管理,特点就是足够大,缺点就是使用麻烦。为什么使用堆内存:1、随着程序的复杂数量变多。2、堆内存的申请释放受控制。如何使用堆内存:注意:C语言中没控制堆内存的语句,只能使用C标准库提供的函数。#include <stdlib.h>void *malloc(size_t size);功能:从堆内存中申请size个字节的内存,申请内存中存储是什么内容不确定。返回值:成功返回申请到的原创 2020-07-27 20:44:47 · 321 阅读 · 0 评论 -
指针
什么是指针:指针是一种数据类型,使用它可以用来定义指针变量,指针变量中存储的其实是整数,这种整数代表了内存的编号。为什么要使用指针:1、函数之间相独立,但有些时候需要共享变量。传参是值传递全局变量容易命名冲突使用数组还需要传递长度命名空间是独立的,但地址空间是同一个,所有指针可以解决这个问题。2、由于函数之间传参是值传递(内存拷贝),对于字节数比较多的变量,值传递效率较低,如果传递变量的地址只需要传递4|8字节。3、堆内存无法取名字,它不能像data、bss、stack让变量名与内存建立联原创 2020-07-27 20:43:29 · 188 阅读 · 0 评论 -
C语言指针详解(经典,非常详细)
转载:https://blog.youkuaiyun.com/liu100m/article/details/90731422 原文不详前言:复杂类型说明要了解指针,多多少少会出现一些比较复杂的类型,所以我先介绍一下如何完全理解一个复杂类型,要理解复杂类型其实很简单,一个类型里会出现很多运算符,他们也像普通的表达式一样,有优先级,其优先级和运算优先级一样,所以我总结了一下其原则:从变量名处起,根据运算符优先级结合,一步一步分析.下面让我们先从简单的类型开始慢慢分析吧:int p; //这是一个普通的整型变量i转载 2020-07-15 20:58:25 · 417 阅读 · 1 评论 -
进程映像以及类型限定符
进程印象进程映像指的就是函数的分布情况# 堆heap由程序员手动管理 特点就是够大栈stack函数调用开始到函数执行结束只能在函数内使用存储局部变量,块变量等数据静态数据段bss存储未初始化过的变量text代码段存储是二进制指令,常量数据,权限是只读,强制修改会产生段错误。data数据段存储初始化的变量类型限定符auto用于定义自动分配、释放内存的变量(局部变量),不加就代表加。全局变量不能用它修饰。extern声明变量,意思是此变量在别处已经定义,请放心使用。但只临原创 2020-07-15 20:49:07 · 315 阅读 · 0 评论 -
gcc参数以及c代码的执行过程详解
****有好几个月没有更新了还是很抱歉,接下的更新会稳定下了,一周一篇或者多篇今天给大家分享一下gcc的相关参数以及c代码变为可执行程序的过程gcc是GNU社区为了编译Linux代码而开发一款免费的编译器,默认采用C89语法,-std=gnu99可以设置C99语法。常用的参数:-E 显示预处理结果-c 只编译不链接-o 设置编译结果的名字-I 指定头文件的加载路径-S 生成汇编代码-l 指定要使用库,-lm 使用数学库-Wall 以严格的标准来检查代码,显示更多的警告提醒-Werro原创 2020-07-07 19:29:54 · 647 阅读 · 0 评论 -
近期题目分享以及疑惑
hello,大家许久不见,这段时间虽然题目写的不少,但是一直都没有机会跟大家一起分享,接下来我给大家分享几题近期写的几道比较有意思的题目吧题目均引自pat乙级题库1.1070 结绳题目思路:这题是一题比较明显的数学题,只要我们把思路搞对,那我们就可以根据题目进行编程。#include<stdio.h>int main(){int n=0;scanf("%d",&n);int a[n],cnt=0;for(int i=0;i<n;i++){scanf("%.原创 2020-05-18 18:57:25 · 293 阅读 · 0 评论
分享