- 博客(31)
- 收藏
- 关注
原创 HTTP协议
URL(统一资源定位符)就是我们俗称的“网址”。上图是 优快云 文章编辑页面的 URL。URL 的最前方为协议名,代表当前使用的协议,与后续字段以 “ :// ” 分隔。第二个字段为“域名”或以 IP 地址,通过这个字段即可找到提供服务的服务器。该字段后也可以跟上端口号,以标识服务端进程。关于域名和 IP 地址,域名可以通过域名解析转换为对应的 IP 地址,因此其本质上还是通过 IP 地址来标识服务器,引入域名主要是以字符串形式表示服务器地址,方便用户记忆。第三个字段为文件路径。
2025-05-24 15:42:56
672
原创 Linux下的Socket编程
网络通信前,通信双方需要知道本机与对方主机的IP地址,方可进行通信。在IP数据报的报头中需要包含有和这两个地址,源IP地址即为本机地址,目的IP地址即为对方地址。其中,在报头中包含的目的IP地址用于本机向对方主机发送请求报文,而源IP地址则是使对方主机能知道该报文的发送方身份。当对方主机将报文处理完毕后,会将作为,从而对不同主机的请求进行正确响应。
2025-05-22 21:28:22
1133
原创 计算机网络基础概念
网络通信的本质就是。我们日常使用的聊天软件、在线视频软件等,事实上都是本机客户端进程与远地服务端进程之间进行网络通信所实现的。我们与朋友进行远程聊天,本质上是从本地客户端将聊天内容发送给服务端,再由服务端转发给目标客户端。
2025-05-20 23:34:05
916
原创 Linux进程间通信
在操作系统中,进程之间都是互相独立的。每个进程都有自己独立的进程地址空间,因此两个进程之间无法直接通过地址空间的方式交换数据。但是如果想要实现多进程协同工作,进程间通信是必不可少的。
2025-03-08 21:04:49
992
原创 Linux 环境下的进程地址空间
当操作系统创建进程时,就需要为进程分配内存资源,内存资源就可以用来为进程存储各种变量、代码等。操作系统为进程分配的内存资源,就可以被认为是所谓的进程地址空间,它会被划分成不同的区域,用于存储不同的数据,例如堆区、栈区等。进程地址空间首先被分为和。内核空间里一般存储了进程的上下文数据,如进程PCB、页表、进程地址空间结构等。而用户空间主要用于存储进程运行过程中所用到的数据,如进程的代码段、运行过程中创建的变量等。
2025-02-24 10:50:52
627
原创 Linux系统中的环境变量简单理解
环境变量是操作系统和其它进程运行时可能需要用到的一些参数。无论是Linux系统还是Windows系统都有系统环境变量。例如,在Windows菜单中搜索环境变量,即可看到编辑系统环境变量。在Linux系统中使用 env 命令,也可以查看当前系统的环境变量。
2025-02-20 22:06:48
899
原创 Linux环境下的进程状态
在操作系统原理中,通常将进程状态划分为六种,分别是新建态、就绪态、运行态、阻塞态、挂起态和退出态。各种状态之间的切换如下图模型所示。这里简单解释一下和之间的转换。,当一个处于运行态的进程需要等待事件时,例如等待IO设备,那么该进程将从运行态变为阻塞态。当该进程所等待的事件发生后,例如IO设备被上一个进程使用完成后,那么将该进程从阻塞态转为就绪态,等待CPU调度。,由于处于阻塞态的进程被储存在内存中,当处于阻塞态的进程过多时,由于内存空间不足,需要将内存中的部分进程换出至外存,称为挂起。
2025-02-19 20:54:54
957
原创 进程概念理解
从字面意思理解,进程可以理解为进行中的程序、正在运行的程序。我们平时使用的QQ、微信、浏览器,又或是游戏、视频播放器等等,事实上都是作为进程被我们使用。例如,在 Windows 操作系统中,我们双击一个可执行文件(.exe),系统就会为这个文件创建一个进程。我们可以打开任务管理器,查看目前系统创建并正在运行的进程。,进程是操作系统分配资源的基本单位。进程运行时,操作系统需要为进程分配内存、CPU时间片等资源。
2025-02-18 22:11:24
745
原创 数据结构——栈和队列
栈和队列是两种不同的线性数据结构。这两种数据结构相比之前的基础数据结构顺序表和链表来说,特点更加突出,实用性也更强。而这两种数据结构的实现也建立在顺序表和链表的基础之上,建议先了解顺序表和链表的原理再学习栈和队列。
2023-05-27 16:51:39
1093
1
原创 数据结构——链表
链表是一种基础的线形数据结构,但是其与顺序表有着较大的差别。但是由于链表与顺序表均为线形结构,本篇将穿插对比分析它们在部分性能上的优劣性。建议萌新先学习顺序表,再来看链表。
2023-05-04 22:39:40
1225
20
原创 数据结构——顺序表
本篇为数据结构系列的第一篇文章,数据结构是一种有效地存储和管理数据的方法,在应对实际问题时的重要性不亚于算法。本系列为我在学习数据结构后对于数据结构的理解,使用的语言为C。这里提几点建议,数据结构最重要的是思想,先有思路再进行代码还原能提高学习效率,在学习时,建议多画图辅助理解,图形能更直观地表达出数据结构。
2023-04-08 23:22:58
2267
27
原创 算法基础——复杂度
算法是解决问题的一系列操作的集合。著名的计算机科学家Niklaus Wirth曾提出:算法+数据结构=程序,由此可见算法在编程中的重要地位。本篇主要讨论算法性能好坏的标准之一——复杂度。
2023-03-25 22:55:16
2609
25
原创 C语言学习笔记——数组
数组是C语言中的一种自定义数据类型,它的使用非常广泛。但是很多新手在使用数组时,经常在一些细节上出问题,导致程序崩溃或者无法编译。今天,我就来详细聊聊数组的使用和我注意到的一些细节。
2023-03-12 13:24:59
1183
41
原创 C语言学习笔记——指针(初阶)
指针可以说是C语言基础语法中最难的理解的知识之一,很多新手(包括我)刚接触指针时都觉得很难。在我之前发布的笔记中都穿插运用了指针,但是我一直没有专门出一期指针的笔记,这是因为我确实还有些细节至今还不太清楚。本篇将分享我对指针的理解,欢迎各位大佬批评指正。
2023-03-05 12:01:29
865
36
原创 C语言学习笔记——程序环境和预处理
每次我们写完代码运行的时候都会弹出来一个黑框框,这个黑框框实际上是一个可执行程序(.exe文件)。那么代码是如何被变成一个可执行文件的呢?其实这就是编译器所做的事,一起来了解了解吧。
2023-02-26 12:38:17
896
32
原创 C语言学习笔记——文件操作
在前面的学习当中,C语言的基本语法已经基本学习完毕,但是大家都会发现一个问题,我们的代码编写似乎一直是表现为一个黑框框,这与我们生活中所看到的软件似乎有着很大的区别。当然,编程语言的作用不可能仅局限于编译器的黑框框,今天我们就来看看C语言的文件操作吧!
2023-02-20 21:07:24
534
44
原创 C语言学习笔记——动态内存管理
在C语言中,若需要存储数据,则需要向内存申请空间。当我们定义一个变量时,编译器会自动向内存申请空间来储存在这个变量。这种内存管理方式有时是不便利的,它所开辟的内存空间大小是固定的。例如在VS编译器上,由于VS不支持变长数组,当我们需要根据不同情况确定不同的数组大小时较为困难。因此,C语言提供了动态内存管理用来更加灵活地管理内存空间。
2023-02-18 20:35:29
352
24
原创 C语言学习笔记——自定义数据类型
C语言为我们提供了整型,浮点型两种基础的数据类型,同时为了方便程序员完成复杂的代码,C语言还提供了三种自定义数据类型——结构体,位段,枚举和联合体。
2023-02-15 11:51:38
1358
27
原创 C语言学习笔记——字符串函数和内存函数
对于字符串的操作可以说是C语言基础学习的一大难点。C语言标准库中有许多用于处理字符串的库函数。今天我来分享一些常用的字符串函数的使用方法和原理。
2023-01-13 17:46:43
303
11
原创 C语言学习笔记——数据的存储
计算机,顾名思义,是一种用于计算的机器。要想进行计算,首先要有供计算的数据。那么今天我就来分享一下C语言中数据的存储的相关知识。
2023-01-05 09:37:24
343
12
原创 C语言学习笔记(四)循环与分支语句
为了更好地解决实际生活中出现的问题,C语言提供了循环语句和分支语句。几乎所有的问题都可以用循环和分支语句的逻辑来表达和解决。快来看看如何用C语言输出乘法口诀表把!
2022-12-01 21:01:16
512
1
原创 C语言的简单运用——扫雷(基础篇)
相信大家小时候在windows游戏菜单里都看到过扫雷,大部分人应该都玩过扫雷。我们在学习了C语言后,也可以自己编写一个C语言的扫雷游戏,让我们来看看如何实现吧!
2022-11-17 16:41:46
395
8
原创 C语言学习笔记(三)操作符(1)
本篇为我在VS环境下学习C语言的记录与笔记,包含我目前所学到的知识以及我对C语言的认识,其中可能有说法错误或用词不准确,欢迎各位指正,也欢迎一同学习C语言的同学讨论,研究和学习。
2022-10-30 23:05:56
727
2
原创 C语言学习笔记(二)函数(1)
本篇为我在VS环境下学习C语言的记录与笔记,包含我目前所学到的知识以及我对C语言的认识,其中可能有说法错误或用词不准确,欢迎各位指正,也欢迎一同学习C语言的同学讨论,研究和学习。
2022-10-26 22:55:25
522
3
原创 C语言学习笔记(一)变量与常量
本篇为我在VS环境下学习C语言的记录与笔记,包含我目前所学到的知识以及我对C语言的认识,其中可能有说法错误或用词不准确,欢迎各位指正,也欢迎一同学习C语言的同学讨论,研究和学习。
2022-10-24 22:51:12
753
原创 一位非计算机专业大一新生编程学习的开始
我是来自一个双非本科学校的大一新生,从初中开始就对编程产生浓厚的兴趣,可惜一直没有机会和条件来学习。 以前喜欢编程可能只是认为程序员非常酷,只需要坐在电脑前就可以解决很多现实问题。到现在,我才意识到编程没有那么简单,不论是刚刚开始的编程语言的学习,还是后期编程思维的训练,对我而言都是巨大的挑战。 虽然并不是计算机专业,但是我认为编程是当代年轻人需要掌握的一项不可或缺的技能。随着IT行业的不断发展,计算机技术与其它行业的结合已经成为各个行业发展的趋势。因此,我认为
2022-10-16 20:54:42
178
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人