自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux系统与系统文件读写

一、内存管理的层次划分STL 智能指针,可以自动分配/释放内存资源 调用C++C++ new/delete运算符,构造/析构函数 调用标准C标准C malloc/calloc/realloc/free 调用POSIX接口POSIX brk/sbrk 调用LinuxLinux mmap/munmap 调用kernelKernel kmalloc/vm

2021-09-26 20:22:33 148 1

原创 系统中的库与环境

静态库和动态库库静态库的创建与使用1、创建静态库2、使用静态库共享库的创建与使用辅助工具错误处理环境变量表库库:也叫代码库,把一个些目标文件合并在一起方便使用,有静态库和共享库两种。静态库:在链接时把库的二进制指令复制到调用模块中。共享库:会和调用者一起加载到内存,当执行调用语句时会从程序的调用位置跳转到共享库中运行。优缺点:静态库的优点是运行速度快,但维护麻烦,当静态库中人内容更新后需要重新编译程序,使用静态库编译出的可执行文件会比共享库的要大。共享库的优点是使用方便,共享库如果发生变化不需

2021-09-24 22:08:07 300

原创 数据结构:树与图

树图结构树型结构:树的相关术语:树的种类:二叉树的性质:二叉树的种类:有序二叉树:线索二叉树:堆:哈夫曼树:平衡二叉树:二叉树的链式存储:二叉树的顺序存储:二叉树的遍历:图图的相关术语:图的存储:图的遍历:树型结构:元素之间存在一对多关系的数据结构,适合存储具有层次关系的数据模型,如:文件树、组织关系、族谱。树的相关术语:根结点:树的最顶层结点,一棵树最多只有一个根结点。双亲结点、父结点:结点的上一层结点,一个结点只有唯一一个双亲结点。子结点:结点的下层结点,可以有若干个。叶子节点:没有子结点

2021-09-23 19:12:18 902

原创 c语言:通用链表

在以后的代码生涯中肯定不会缺少链表的使用,为了使用方便,可以制作一个通用链表。typedef int (*CMP)(const void*,const void*);typedef void (*SHOW)(const void*);typedef struct Node{ void* data; struct Node* prev; struct Node* next;}Node;Node* create_node(void* data){ Node* node = malloc

2021-09-22 21:16:55 317

原创 c语言:多文件编程

多文件编程多文件编译Makefile编译脚本当程序的业务逻辑越来越复杂,代码量越来越多,所有代码写在一个源文件中会影响代码编写、阅读、团队合作,因此为了避免这些问题,可以按功能把代码编写到不同源文件中,然后给每个源文件编写一个辅助说明的头文件 头文件写啥 1、头文件卫士 2、结构、联合、枚举的类型设计 3、全局变量的声明 在对应的源文件中定义 4、函数声明 在对应的源文件中实现 5、宏常量和宏函数 注意: 头文件总的内容能在不同的源文件中重复出现而不会导致冲突,为了检查头文件的函数声明与源文

2021-09-06 19:46:42 209

原创 c语言:链表

链表:由分布在内存不同位置的结点(元素),通过成员指针所连接起来的表结构,结点之间存在一对一关系。优点:对内存的要求不高,可以使用到小块内存插入、删除方便可以根据元素数量动态调整链表的长度,节约内存,还可以无限的添加元素。缺点:频繁的插入、删除结点可能会产生内在碎片访问速度慢,不能随机访问,只能从头结点逐个遍历#define TYPE int// 链表的节点typedef struct Node{ TYPE data; // 数据域 struct Node* next; //

2021-08-19 18:43:41 44

原创 C语言管理:堆内存管理

堆内存管理C语言中没有管理堆内存的语句,而是由标准库提供提供一套函数来管理堆内存。头文件 #include <strings.h>void *malloc(size_t size); 功能:向系统申请一块堆内存 size:内存块的字节数 返回值: 成功 返回内存块的首地址 失败 返回NULL例: char* node = malloc(sizeof(int)); //sizeof 计算字节数使用malloc申请的内存,里面的内存是随机的、不确定的,如果需要

2021-08-02 18:43:34 119

原创 c语言学习:指针

指针一、指针什么是指针:什么情况使用指针:如何使用指针:使用指针要注意的问题:二、指针与const:三、常见的指针类型指针数组与数组指针:void指针:函数指针:四、二级指针:五、指针与数组名的关系:一、指针什么是指针:指针是一种数据类型,使用它可以定义指针变量,这种变量里存储是整数,这种整数代表了内存的编号,每个整数对应一个字节,使用指针变量可以访问对应的内存,具体访问的多个字节由指针的类型决定。什么情况使用指针:注意:从理论上讲指针可以访问任何位置的内存,但绝大部分的内存我们没有权限访问,因此

2021-07-28 20:34:09 163

原创 c语言学习:文件操作

文件操作文件类型操作函数打开/关闭文本文件的读写二进制文件的读写文件类型操作函数打开/关闭文本文件的读写二进制文件的读写

2021-07-21 20:12:57 139

原创 c语言学习 复合数据类型

复合数据类型结构结构由于多种内建数据类型组合成的一个整体,用于描述一个事物的各项数据。通常通过struct定义称为结构体,设计如下:struct TypeName{类型 成员名;…};struct32个关键字之一 构体注意:此时只是完成了数据类型的设计。使用时相同的结构体变量可以直接赋值。...

2021-07-18 22:45:46 79

原创 C语言学习 字符与字符串

c语言学习:字符与字符串字符几个常用的功能函数:字符串四个常用的字符串操作函数:四个常用字符串操作函数的编写其余些许字符串函数字符字符:字符就是符号或图案,在C代码是以整数形式模拟的,当需要显示时再根据ASCII表中的对应关系显示出相应的符或图案。如字符A为65 字符0为48。几个常用的功能函数:头文件:**ctype.h** **int isalnum( int ch );**功能:ch是数字或字母字符,函数返回非零值,否则返回零值**int isalpha( int ch );**功

2021-07-13 20:19:09 188

原创 C语言学习 c基础1

c语言基础vim的常用操作:编译器:CC语言文件类开:C代码变量成可执行程序的过程:C语言32个关键字:数据类型有关:变量的分类:进程的内存分布:几个关键字:vim的常用操作:简单使用:vim filename.c、i 编辑、Esc、ZZ模式切换: 正常 插入 i 插入 正常 Esc/Ctrl+C 正常 行底 : 行底 正常 Esc/Ctrl+C正常模式的操作: 光标移动:hjkl、n+Enter、n+G、gg、G 删除内容:x、dw/de、dd/nd

2021-07-13 19:21:04 71

空空如也

空空如也

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

TA关注的人

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