- 博客(26)
- 收藏
- 关注
原创 网络编程——UDP网络编程
UDP网络编程示例摘要 本文演示了UDP协议的Socket编程实现,包含服务端与客户端代码。与TCP不同,UDP无需建立连接,直接通过sendto()和recvfrom()函数收发数据。服务端绑定端口后循环接收数据,解析客户端地址并打印;客户端则通过命令行参数指定服务端IP和端口,发送用户输入内容。代码包含地址重用设置、网络字节序转换、异常处理等关键细节,支持"quit"指令退出。
2025-05-26 17:50:29
527
原创 网络编程学习笔记——TCP网络编程
本文介绍了网络编程中的核心函数及其用法。主要函数包括:socket()创建套接字、bind()绑定地址端口、listen()设置监听、accept()接受连接,以及数据收发函数recv()/send()等。
2025-05-26 17:03:33
1311
原创 网络编程学习笔记——网络基础
本文摘要: 网络发展历史源于冷战时期,1968年ARPAnet成为互联网雏形。TCP/IP协议在1974年诞生,1983年成为互联网标准协议。网络采用分层架构,OSI模型有七层,TCP/IP模型简化至四层(网络接口、网络、传输、应用层)。TCP提供可靠连接传输,UDP则提供高效无连接传输。Socket是网络编程接口,分为流式、数据报和原始套接字。IP地址标识网络主机,IPv4和IPv6分别使用32位和128位地址。端口号用于区分不同网络服务,由IANA管理,其中1-1023为众所周知端口。
2025-05-24 09:10:33
959
原创 数据结构学习笔记——队列
队列是一种线性数据结构,具有“先进先出”(FIFO)的特点,操作限制在队尾插入和队头删除。队列分为顺序队列和链式队列。顺序队列通过数组实现,使用front和rear指针分别指向队头和队尾,并通过循环队列提高空间利用率。链式队列则通过链表实现,队头和队尾分别由指针控制。队列的常见操作包括创建队列、入队、出队、判断队列空或满等。顺序队列和链式队列的实现分别通过数组和链表完成,适用于不同的应用场景,如任务调度、缓冲区管理等。
2025-05-23 11:47:05
607
原创 数据结构学习笔记——栈
它是顺序表的一种,具有顺序表同样的存储结构,由数组定义,配合用数组下标表示的栈顶指针top(相对指针)完成各种操作。插入操作和删除操作均在链表头部进行,链表尾部就是栈底,栈顶指针就是头指针。栈是限制在一端进行插入操作和删除操作的。允许进行操作的一端称为“当栈中没有元素时称为“
2025-05-22 20:08:30
694
原创 数据结构学习笔记——线性表之单链表
本文介绍了线性表的链式存储结构及其实现。链式存储通过结点(包含数据域和指针域)将线性表中的元素分布在存储器的不同位置,并通过指针建立元素之间的联系。文章详细描述了结点的结构、链表的创建、插入和查找操作,并提供了C语言代码示例。链表的动态特性使其在算法运行前不存在固定的表结构,插入和查找操作通过遍历链表实现。
2025-05-21 22:40:26
682
原创 C语言学习笔记之内存管理
当程序运行到需要一个动态分配的变量或对象时,必须向系统申请取得堆中的一块所需大小的存贮空间,用于存贮该变量或对象。当不再使用该变量或对象时,也就是它的生命结束时,要显式释放它所占用的存贮空间,这样系统就能对该堆空间进行再次分配,做到重复使用有限的资源。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。不是NULL指针,是指向“垃圾”内存的指针。“野指针”是很危险的。
2025-05-21 10:58:20
554
原创 C语言学习笔记之共用体及typedef
共用体(union)是C语言中的一种数据类型,允许不同数据类型共享同一块内存空间。与结构体不同,共用体的内存大小由其最大成员决定,且每次只能存储一个成员的值,新成员的赋值会覆盖旧成员。共用体常用于节省内存或处理不同类型数据的场景。结构体和共用体可以相互嵌套,形成复杂的数据结构。此外,C语言中的typedef关键字用于定义新的数据类型别名,常用于简化结构体或指针类型的声明。通过typedef,可以创建更具可读性和易用性的数据类型。
2025-05-20 18:45:00
395
原创 C语言学习笔记之条件编译
编译器通过条件编译机制,根据特定条件的真假来决定是否编译相关代码。常见的条件编译方法有两种:一是根据宏是否定义,使用#ifdef和#ifndef指令,若宏已定义或未定义,则编译相应代码块;二是根据宏的值,使用#if指令,若宏的值为真(非零),则编译相应代码块,否则编译#else后的代码。这两种方法通过#endif结束条件编译块。条件编译常用于调试、平台适配等场景。
2025-05-19 22:15:00
277
原创 数据结构学习笔记——线性表之顺序表
5)取表中某个元素:GetList(L , i ), 即ai。3)判断表是否为空:list_empty (L)。定位:确定给定元素x在表L中第一次出现的位置(或序号)。即实现Locate(L,x)。若将线性表L=(a0,a1, ……,an-1)中的各元素依次存储于计算机一片。6)定位运算:Locate(L,x)设有一个顺序表L={1,2,3,4,5,6}1)建立一个空表:list_create(L)2)置空表:list_clear(L)。使用二元组描述L=(D,R),则。4)求表长:length (L)
2025-05-19 21:30:00
1921
原创 数据结构学习笔记——初识数据结构
数据元素的存放地址,然后数据元素按地址存放(适合于查找频率高的)数据元素的存放地址,然后数据元素按地址存放(适合于查找频率高的)所编制的程序来实现的,因而是依赖于具体的计算机语言的。集合——数据元素间除“同属于一个集合”外,无其它关系。数据结构中元素之间的关系在计算机内部很大程度上是通过。存储结构:逻辑结构在计算机中的具体实现方法。根据数据元素的特殊字段(称为关键字key),根据数据元素的特殊字段(称为关键字key),线性结构——一个对一个,如线性表、栈、队列。在存储数据的同时,建立一个附加的索引表,即。
2025-05-19 16:50:08
433
原创 C语言学习笔记之指针
指针是C语言中的重要概念,用于存储内存地址,能够使程序更高效、简洁,并支持复杂数据结构和动态内存分配。指针变量通过存储地址来访问目标数据,其声明形式为<存储类型> <数据类型> *<指针变量名>。指针可以初始化,指向变量或数组的地址。指针运算包括赋值、算术和关系运算,支持加减操作以移动地址,但不同数据类型的指针运算无意义。指针与数组关系密切,数组名即数组的起始地址,指针变量可以指向数组元素,通过指针访问数组数据。理解指针的px、*px和&px表示方法及其运算规则是
2025-05-17 16:07:51
777
原创 C语言学习笔记之数组和字符串
数组是编程中常用的数据结构,用于存储相同类型的多个元素。数组可以是一维、二维或多维的。一维数组通过下标访问元素,内存中连续存储,定义时需指定数据类型和大小。二维数组则通过行和列访问元素,按行优先顺序存储。数组在使用前需定义,且只能逐个引用元素,不能整体引用。初始化时可以为数组元素赋初值,未初始化的元素值为随机数或默认值(如static数组为0)。字符数组是元素为字符类型的数组,可以用字符或字符串初始化。数组在编程中广泛用于排序、矩阵操作等场景,如冒泡排序、杨辉三角等。
2025-05-14 18:10:38
1006
原创 C语言学习笔记之控制语句
本文概述了C语言中的控制语句,主要包括分支、循环和辅助控制三类。分支语句包括if-else和switch,if-else有简化、阶梯和嵌套三种形式,用于条件判断;switch则用于多分支选择。循环语句包括for、while、do-while和goto,用于重复执行代码块。辅助控制语句如continue、break和return用于控制程序流程。
2025-05-14 12:00:00
808
原创 C语言学习笔记之输入输出语句专题
本文介绍了C语言中的输入输出函数,主要包括字符输出函数putchar、格式输出函数printf、字符输入函数getchar、格式输入函数scanf、字符串输入函数gets和字符串输出函数puts。putchar用于输出单个字符,printf支持多种格式输出数据,getchar从键盘读取字符,scanf按格式读取数据,gets读取字符串,puts输出字符串并自动换行。
2025-05-13 09:18:35
480
原创 VMware虚拟机安装Ubuntu教程(附带所需安装包)
为了方便学习linux编程,本文将教大家如何使用VMware虚拟机安装Ubuntu,并实现自定义分区。
2025-04-10 07:23:05
1211
原创 VMware Workstation Pro最新版下载与安装
VMware Workstation Pro最新版现已对个人用户免费开放,轻松体验多系统运行与开发测试的强大功能。本文将教大家如何快速下载与安装,开启虚拟化新旅程。
2025-04-09 18:15:38
690
原创 ESP8266-01固件烧录(以MQTT透传AT固件为例)
本篇内容是作者在搜集与阅览大量文章并实现ESP8266-01的固件烧录(以MQTT透传AT固件为例)的经验总结,希望能对因为无法固件烧录,而忙的焦头烂额的友友提供一定的帮助。
2025-03-27 11:22:46
1700
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人