<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Ghr_C99的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Ghr_C99</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Ghr_C99]]></copyright><item><title><![CDATA[C语言_动态内存管理]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/134223304</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/134223304</guid><author>Ghr_C99</author><pubDate>Sat, 04 Nov 2023 21:26:26 +0800</pubDate><description><![CDATA[这个函数向内存申请一块连续可用的空间，并返回指向这块空间的指针。如果开辟成功，则返回一个指向开辟好空间的指针。如果开辟失败，则返回一个NULL指针，因此malloc的返回值一定要做检查。返回值的类型是void*，所以malloc函数并不知道开辟空间的类型，具体在使用的时候使用者自己来决定。如果参数size为0，malloc的行为是标准是未定义的，取决于编译器。malloc  申请的内存空间，当程序退出时，还给操作系统。当程序不退出，动态申请的内存，不会主动释放的。需要使用free 函数。]]></description><category></category></item><item><title><![CDATA[C语言_自定义类型详解]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/134168065</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/134168065</guid><author>Ghr_C99</author><pubDate>Wed, 01 Nov 2023 20:15:27 +0800</pubDate><description><![CDATA[int i;//全局变量int main()return 0;1.位段的成员必须是 int、unsigned int 或 signed int。2.位段的成员名后边有一个冒号和一个数字。枚举，里面是枚举的可能取值，逗号。]]></description><category></category></item><item><title><![CDATA[C语言_字符串和内存函数]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/133978149</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/133978149</guid><author>Ghr_C99</author><pubDate>Mon, 30 Oct 2023 17:18:33 +0800</pubDate><description><![CDATA[C语言的标准库函数用法讲解代码样例。]]></description><category></category></item><item><title><![CDATA[【字符指针等_例题详解】]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/134112860</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/134112860</guid><author>Ghr_C99</author><pubDate>Mon, 30 Oct 2023 17:13:43 +0800</pubDate><description><![CDATA[关于字符指针例题，同时附带解析；代码题附带源码。int x = 0;x++;y--;*py = y;return;*px = -1;*py = -1;int x = 3;int y = 3;printf("没找到\n");elseprintf("找到了，下标是:%d %d\n", x, y);return 0;]]></description><category></category></item><item><title><![CDATA[【计算机网络】数据链路层 转载]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/133699201</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/133699201</guid><author>Ghr_C99</author><pubDate>Mon, 09 Oct 2023 12:50:13 +0800</pubDate><description><![CDATA[局域网是一份公享的资源，当主机A给主机B发送消息时，可同时存在 主机C 给主机D发送消息。在进行报文和有效载荷分离时，发现数据帧是要去macA，而只有主机A的mac地址为macA。从学号转成姓名，先在教室中询问，所有同学收到，只有一名同学处理，其他同学丢弃，首先 获取F的mac地址，再根据对方的mac地址 封装 mac帧，发送数据。主机A发现自己的mac地址 与 报头的目的mac地址相同，就由主机A接收到。从主机B到路由器F，源mac地址 是 主机B 目的mac地址是路由器F。]]></description><category></category></item><item><title><![CDATA[【计算机网络】高级IO 转载]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/133699175</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/133699175</guid><author>Ghr_C99</author><pubDate>Mon, 09 Oct 2023 12:49:08 +0800</pubDate><description><![CDATA[IO：表示 输入 输出当对方把连接建立好，但是不发数据而我是一个线程，正在调用 read 来读，就会阻塞，一直等数据发送过来即读取条件不满足的情况下，read或recv 只会等待无论是有数据时的拷贝 ，还是没有数据时的等待两者的时间成本，全都算到了用户头上在用户的角度，IO= 等+数据拷贝单位时间内，等的比重越低，IO效率越高当IO条件满足时，称为IO事件就绪。]]></description><category></category></item><item><title><![CDATA[【计算机网络】select 转载]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/133699154</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/133699154</guid><author>Ghr_C99</author><pubDate>Mon, 09 Oct 2023 12:47:22 +0800</pubDate><description><![CDATA[read/recv 等 文件接口只有一个文件描述符想要 让一个接口等待多个文件描述符，而read等接口是不具备这个能力的操作系统就设计一个接口select，用于多路复用select 作用1.等待多个文件描述符2.只负责等(没有数据拷贝的能力)用户把数据交给操作系统，同样操作系统也要 通过这些输出型参数 把结果 交给用户为了让 用户 和 操作系统之间进行信息传递，就把参数设置为 输入 输出型参数timeout 是一个输入 输出型参数timeout的数据类型 为。]]></description><category></category></item><item><title><![CDATA[数据结构_顺序表_尾插、尾删、头插、头删(附带详解)]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/133213316</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/133213316</guid><author>Ghr_C99</author><pubDate>Sat, 23 Sep 2023 18:55:04 +0800</pubDate><description><![CDATA[顺序表_尾插、尾删、头插、头删顺序表是用一段物理地址连续的存储单元一次存储数据元素的线性结构，一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表可动态增长的数组，要求数据是连续存储的。]]></description><category></category></item><item><title><![CDATA[数据结构_复杂度讲解(附带例题详解)]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/133034322</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/133034322</guid><author>Ghr_C99</author><pubDate>Tue, 19 Sep 2023 18:30:43 +0800</pubDate><description><![CDATA[数据结构是计算机科学中研究数据组织、存储、管理和操作的方法和原则。它涉及到各种不同的数据类型和数据组织方式，包括数组、链表、树、图等。数据结构的设计和实现可以影响到程序的效率和可靠性，因此是计算机科学中非常重要的一个领域。（数据结构是计算机存储、组织数据的方式，指相互之间在一种或多种特定关系的数据元素的集合）（数据结构就是在内存当中管理数据（管理的核心就是增、删、查、改），在内存中管理数据有很多种方式，比如说链型结构…不同结构有他们各式各样的优越势）]]></description><category></category></item><item><title><![CDATA[C语言_指针进阶（下）]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/132839689</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/132839689</guid><author>Ghr_C99</author><pubDate>Tue, 12 Sep 2023 21:24:58 +0800</pubDate><description><![CDATA[数组是一个存放相同类型数据的存储空间，那把函数的地址存放到一个数组中，那这个数组就叫函数指针数组提示：以下是代码样例，下面案例可供参考int Add(int x, int y) //加int Sub(int x, int y) // 减int Mul(int x, int y)//乘int Div(int x, int y)//除//计算器int main()int x = 0;int y = 0;//定义一个函数指针数组domenu();]]></description><category></category></item><item><title><![CDATA[C语言_指针进阶（上）]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/132792337</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/132792337</guid><author>Ghr_C99</author><pubDate>Sun, 10 Sep 2023 18:07:25 +0800</pubDate><description><![CDATA[指针数组是由指针组成的数组。它的每个元素都是一个指针，可以指向任何数据类型。在C语言中，我们可以定义一个指针数组如下：// 声明一个大小为10的指针数组，每个元素都是一个int类型的指针这个数组中的每个元素都是一个int类型的指针。我们可以使用下标来访问数组中的元素，并对指针进行赋值操作。可以用来存储多个字符串，每个指针指向一个字符串；可以用来实现多态性，将不同类型的指针存储在同一个指针数组中；可以用来实现动态的内存分配，将指针存储在指针数组中，然后根据需要动态分配内存。]]></description><category></category></item><item><title><![CDATA[将代码的 实现 和 声明 分离]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/132699207</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/132699207</guid><author>Ghr_C99</author><pubDate>Tue, 05 Sep 2023 20:14:14 +0800</pubDate><description><![CDATA[假设: 程序员：mos 下班写了一个库 --- 可以完成一个加法操作 要卖出去，挣钱，源代码肯定不可以卖出去 这个时候，怎么能把这个东西卖给别人，别人又不知道他怎么写的这里面需要加入导入静态库的代码。]]></description><category></category></item><item><title><![CDATA[C语言_分支和循环语句（3）]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/132603715</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/132603715</guid><author>Ghr_C99</author><pubDate>Thu, 31 Aug 2023 15:56:50 +0800</pubDate><description><![CDATA[C语言：结构化的程序设计语言 顺序结构、选择结构、循环结构：提示：以下是本篇文章正文内容，下面案例可供参考。]]></description><category></category></item><item><title><![CDATA[C语言_分支和循环语句（2）]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/132568152</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/132568152</guid><author>Ghr_C99</author><pubDate>Tue, 29 Aug 2023 19:41:21 +0800</pubDate><description><![CDATA[C语言：结构化的程序设计语言顺序结构、选择结构、循环结构。]]></description><category></category></item><item><title><![CDATA[C语言_初识C语言指针]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/132527640</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/132527640</guid><author>Ghr_C99</author><pubDate>Mon, 28 Aug 2023 17:30:25 +0800</pubDate><description><![CDATA[内存是电脑上特别重要的存储器，计算机中程序的运行都是在内存中进行的。所以为了有效的使用内存，就把内存划分成一个个小的内存单元，每个内存单元的大小是一个字节。一个存储单元可以存储一个字节，也就是8个二进制位。计算机的 存储器 容量是以 字节 为最小单位来计算的，对于一个有128个存储单元的存储器，可以说它的容量为128字节。如果有一个1KB的 存储器 则它有1024个存储单元，它的编号为从0－1023。]]></description><category></category></item><item><title><![CDATA[C语言_分支和循环语句（1）]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/132511378</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/132511378</guid><author>Ghr_C99</author><pubDate>Sat, 26 Aug 2023 15:58:21 +0800</pubDate><description><![CDATA[C语言：结构化的程序设计语言顺序结构、选择结构、循环结构1.表达式语句、2.函数调用语句、3.控制语句、4.复合语句、5.空语句（一个分号；就是）]]></description><category></category></item><item><title><![CDATA[C语言_结构体]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/130968882</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/130968882</guid><author>Ghr_C99</author><pubDate>Wed, 31 May 2023 15:09:36 +0800</pubDate><description><![CDATA[有了结构体类型，如何定义变量首选 print2 函数因为：函数传参的时候，参数是需要压栈的。如果传递一个结构体对象的时候，结构体过大，参数压栈的的系统开销过大，所以会导致性能的下降。结论：结构体传参的时候，要传结构体的地址。]]></description><category></category></item><item><title><![CDATA[C语言_初级指针（2）]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/130909637</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/130909637</guid><author>Ghr_C99</author><pubDate>Sun, 28 May 2023 09:59:02 +0800</pubDate><description><![CDATA[指针和数组之间是什么关系呢？指针变量就是指针变量，不是数组，指针变量大小是4/8字节，专门是用来存放地址的。数组就是数组，不是指针，数组是一块连续的空间，可以存饭一个或者多个类型相同的数据。联系：1.数组中，数组名其实是数组数组首元素的地址，数组名 == 地址 == 指针。2.当我们知道数组首元素的地址的时候，因为数组是连续存放的，所以通过指针就可以便利访问数组。3.数组是可以通过指针来访问的。]]></description><category></category></item><item><title><![CDATA[C语言——求最小公倍数]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/130877157</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/130877157</guid><author>Ghr_C99</author><pubDate>Thu, 25 May 2023 23:07:14 +0800</pubDate><description><![CDATA[最小公倍数定义：两个或多个整数公有的倍数叫做它们的公倍数，其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数。求最小公倍数正整数 a 和正整数 b 的最小公倍数，是指能被 a 和 b 整除的最小的正整数。请你求 a 和 b 的最小公倍数。比如输入5和7，5和7的最小公倍数是35，则需要返回35输入描述:输入两个正整数。输出描述:输出最小公倍数。]]></description><category></category></item><item><title><![CDATA[C语言_指针初级（1）]]></title><link>https://blog.youkuaiyun.com/Ghr_C99/article/details/130797741</link><guid>https://blog.youkuaiyun.com/Ghr_C99/article/details/130797741</guid><author>Ghr_C99</author><pubDate>Sun, 21 May 2023 22:52:34 +0800</pubDate><description><![CDATA[指针就是地址，口语中说的指针通常指的是指针变量- 指针变量用来存放地址的变量。（存放在指针中的值都被当成地址处理）-  指针变量用来存放地址的变量，地址是唯一标示一个内存单元的- 一个小的单元多大？如何编址？对于32位的机器，假设有32根地址线那么假设没根地址线在寻址的时候产生高电平（高电压）和低电平（低电压）就是（1或者0）就会有2的32次方个地址；每个地址标识一个字节   .......    4G的空间进行编址。]]></description><category></category></item></channel></rss>