- 博客(8)
- 收藏
- 关注
原创 链表结构与插入和删除操作
什么是链表链表:由分布在内存不同位置的结点(元素),通过成员指针所连接起来的表结构,结点间存在一对一关系。链表的优缺点优点:对内存要求不高,可以使用小块内存。插入、删除方便。可以根据元素数量动态调整链表的长度,节约内存,还可以无限的添加数据。缺点:频繁的释放和创建结点可能会产生内存碎片。访问速度慢,不能随机访问,只能从头结点逐个遍历。单链表首先是单链表节点定义:typedef struct Node{ int data; struct Node* next;}Node;单
2021-08-20 19:18:48 393
原创 C语言指针的几个注意点
什么是指针指针是C语言是一种特殊的数据类型,可以定义指针变量,里面存储的是整数,代表的是内存编号。每个整数对应一个字节(8个二进制位),通过这种编号可以访问对应的内存,具体访问多少个字节由指针的类型决定。32位系统一个指针变量大小4字节64位系统一个指针变量大小8字节为什么使用指针从理论上讲指针可以访问任何任何位置的内存,但绝大多数的内存我们没有访问权限,因此非常容易产生段错误,建议只在合适的时候才使用指针。1、函数之间协调工作时需要共享局部变量2、使用指针可以提高传参效率,函数之间需要传递
2021-08-20 17:12:54 2122
原创 实现Linux系统的cp和mv命令
main函数的参数C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv。还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。加上形参说明后,main函数应写为:int main(int argc, const char* argv[]);其中第一个参数argc表示参数的个数,第二个参数中argv[0]为自身运行目录路径和程序名。argv[1]指向第一个参数、argv[2]指向第二个参数……实际上,main函数的参数值是从操
2021-08-19 20:53:09 411
原创 C语言的文件读取
文件类型从编程角度我们把文件分为两大类,分别是文本文件、二进制文件。二进制文件:存储的是数据的补码,无法用直接打开,好处是读取文件后就可以直接使用。文本文件:把数据以字符形式存储到文件中,可以被直接打开,检查数据是否正确,但读写都需要进行数据转换。打开文件//功能:打开、创建文件//path:文件的路径//mode:打开文件模式//返回值:是一个FILE结构指针,如果文件打开失败,返回NULLFILE *fopen(const char*path, const char* mode);
2021-08-19 20:31:07 4249
原创 二叉树的几种遍历方法
前序遍历1、先访问结点元素2、递归遍历左子树3、递归遍历右子树void dlr_tree(TreeNode* tree){ if(NULL == tree) { return; } printf("%c",tree->data); dlr_tree(tree->left); dlr_tree(tree->right);}中序遍历1、递归遍历左子树2、访问结点元素3、递归遍历右子树void ldr_tree(TreeNode* tree){ if(
2021-08-19 20:21:08 104
原创 C语言的堆内存管理
首先,由于堆内存无法与变量名建立映射关系,所以对堆内存必须配合指针使用。C语言中,并没有与堆内存相关的关键词或者语句,而是由标准库提供了一套管理堆内存的函数供我们使用,位于stdlib.h之中。分配堆内存//Description: 向系统申请一块堆内存。//size: 内存块的字节数。//return: 成功返回内存块首地址;失败返回NULL。void *malloc(size_t size);1、首次使用malloc申请内存时,malloc会向操作系统申请内存,操作系统会一次性分配
2021-08-19 20:14:28 220
原创 有序二叉树的插入、删除、修改实现
有序二叉树在普通的二叉树的基础上还要满足左孩子<双亲<右结点的二叉树。中序遍历时,将按照升序顺序访问其结点。首先定义结点:typedef struct TreeNode{ int data; struct TreeNode* left; struct TreeNode* right;}TreeNode;TreeNode* create_node(int data){ TreeNode* node = malloc(sizeof(TreeNode)); node->
2021-08-02 19:29:22 495
原创 Linux系统常用指令
Linux系统常用指令一、Linux简介:UNIX系统起源,由贝尔实验室研究员丹尼斯.里奇和肯汤普逊合作开发,并顺便发明了C语言,现主要应用于各种大型服务器,如:电信、银行、各大公司的核心关键业务,苹果公司以它作来内核,推出了MacOS、iOS系统,该系统收费,质量比较高。Minix系统是UNIX精简版主要用于科学研究,Linux的作者林纳克纳.托瓦斯就是受了它的启发,引发了全世界的程序员一起完善了Linux系统。Linux是系统的内核,目前由GNU社区维护,但并不能直接使用,需要安装相应的驱动、
2021-07-12 19:37:32 95
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人