- 博客(39)
- 收藏
- 关注
原创 linux实现网络程序
客户端端需要调用connect()连接服务器,connect和bind的参数形式一致,区别在于bind的参数是自己的地址,而connect的参数是对方的地址。pthread_mutex_init的使用是为了解决在多线程访问共享资源时,多个线程同时对共享资源操作产生的冲突而提出的一种解决方法,在执行时,哪个线程持有互斥锁,并对共享资源进行加锁后,才能对共享资源进行操作,此时其它线程不能对共享资源进行操作。以上代码主要是创建套接字,获取远端信息,端口和ip将主机字节顺序转换为网络字节顺序。
2023-04-23 17:40:32
1392
2
原创 CPP中的This
CPP中的This为什么c++会使用thisthis的特性无:one: **为什么会使用this**?:two:this有哪些特性?为什么c++会使用thisthis的特性无1️⃣ 为什么会使用this?在类中如果有多个成员函数,我们如果创建多个变量进行调用。编译器无法区分函数体中不同的对象。所以c++引入this来解决这个问题。即c++为每个静态成员增加了this隐藏指针,用该指针指向函数运行时该函数的对象。但是这一步是编译器进行的用户不需要去管,这也是this对于用户的好地方。我们通过以下实
2022-05-16 08:52:04
994
18
原创 学c++修炼(day1)
c++入门基础:one:命名空间:two:输入&&输出:three: 缺省函数:four: 函数重载:arrow_right:命名空间:arrow_right: CPP的输入&&输出1️⃣命名空间2️⃣输入&&输出3️⃣ 缺省函数4️⃣ 函数重载简单的说下c++的头文件用#include;➡️命名空间我们可以发现会出现重命名的问题,c++为了处理这个c语言遗留下的问题引入了命名空间。命名空间的定义:定义命名空间,需要使用到namesp
2022-04-27 16:37:39
1447
10
原创 二叉树实现堆
利用二叉树实现堆1. 堆的定义2. 如何利用二叉树实现堆性质==堆的实现==:以上是实现过程中自己实现的排序和交换代码。分开更容易理解。总结:1. 堆的定义2. 如何利用二叉树实现堆堆的定义:如果有一个关键码的集合K = { , , ,…, },把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中,并满足: <= 且 <= ( >= 且 >= ) i = 0,1,2…,则称为小堆(或大堆)。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。性质
2022-04-11 00:11:25
1837
27
原创 队列的实现以及一部分队列(oj)
前言:通过不断深入学习在上篇我们完成栈的实现。这篇主讲队列的实现以及队列和栈的oj题。队列的实现前言:通过不断深入学习在上篇我们完成栈的实现。这篇主讲队列的实现以及队列和栈的oj题。一级目录 队列二级目录 栈的oj三级目录 队列的oj一级目录 队列二级目录 栈的oj三级目录 队列的oj队列大体图片如下下面我们进行动画演示队列的进入与删除:...
2022-04-05 23:47:13
520
34
原创 c语言模拟实现栈
栈文章目录栈^1^何为栈^2^出栈与入栈1何为栈2出栈与入栈栈字义栈顶进行数据的插入与删除的一端叫栈顶栈尾未进行数据的插入与删除的一端叫栈尾压栈栈的插入操作叫入栈/压栈/进栈出栈栈的删除(注意:栈的删除也是从顶部开始的)...
2022-03-30 17:15:00
2380
18
原创 算法的时间复杂度
算法的时间复杂1. 时间复杂度[ ~ ] 时间复杂度的概念[ ~ ] 时间复杂度规则(大O的表示法)[ ~ ] 常见的时间复杂计算(1)关于时间复杂度的概念:算法的时间复杂度是一个函数,它描述的是算法运算的时间。一个算法所花费的时间与代码执行次数成正比。算法中的基本操作的执行次数,为算法的时间复杂度。(2)时间复杂度规则:推导大O阶方法:用常数1玉带运行时间中的所以加法常数。在修改后的运行次数函数中,只保留最高阶项。如果最高阶项存在且不是1,则去除最高项目相乘的常数。得
2022-03-05 19:35:59
1346
5
原创 动态内存函数
学习目标:今日掌握动态内存函数学习内容: malloc和free calloc realloc 现在开始学习干:一.malloc和freemalloc是c语言提供了一个动态内存开辟的函数这个函数向内存申请一块连续可用的空间,并返回指向这块空间的指针。如果开辟成功,则返回一个指向开辟好空间的指针。 如果开辟失败,则返回一个NULL指针,因此malloc的返回值一定要做检查。 返回值的类型是 void* ,所以malloc函数并不知道开辟空间的类型.
2022-01-23 19:22:01
88
4
原创 位断与枚举与联合体(共同体)
学习目标:达到认知要求。学习内容:1、位断2、 枚举3、联合体(共同体)现在开始学习:1.位断1 什么是位段位段的声明和结构是类似的,有两个不同:1.位段的成员必须是 int、unsigned int 或signed int 。2.位段的成员名后边有一个冒号和一个数字。2.位段的内存分配1. 位段的成员可以是 int unsigned int signed int 或者是 char (属于整形家族)类型2. 位段的空间上是按照需要以4个字节( int )或者1个字
2022-01-23 15:43:21
218
原创 结构体内存对齐
学习目标:充分领悟结构体在内存中如何存储的。学习内容:解剖热门问题:结构体内存对齐。考点如何计算?首先得掌握结构体的对齐规则:1. 第一个成员在与结构体变量偏移量为0的地址处。2. 其他成员变量要对齐到某个数字(对齐数)的整数倍的地址处。对齐数 = 编译器默认的一个对齐数 与 该成员大小的较小值。VS中默认的值为83. 结构体总大小为最大对齐数(每个成员变量都有一个对齐数)的整数倍。4. 如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数
2022-01-22 16:06:55
95
1
原创 字符串函数与内存函数
系列文章目录部分库函数的使用与实现提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 strcpy strcat strcmp strncpy strncat strncmp strstr 总结前言在我们的学习过程中学习到了很多库函数,有些时候我们需要进行库函数的模拟实现,这是我写这篇博客的目的。记录实现的过程。 strcpy mystrcpy(char* dest, const char* src){ as
2022-01-20 11:14:32
420
原创 c语言指针进阶版
系列文章目录1.字符指针2.数组指针3.指针数组4.数组传参和指针传参5.函数指针6.函数指针数组7指向函数指针数组的指针8.回调函数9.指针和数组面试题的解析文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言为啥指针需要进阶那是因为指针是c语言的灵活它可以->变量/->结构体/->函数/->数组/->文件.非常灵活方便,因而写此文章提升能力
2022-01-11 19:20:16
395
14
原创 猜数字游戏
void menu(){ printf("*****************\n"); printf("*** 1.play ***\n"); printf("*** 0.exit ***\n"); printf("*****************\n");}void game(){ int guessnumber = 0; int r = rand() % 100 + 1;//1~100 while (1) { printf("猜数字:>"); s.
2022-01-06 23:50:15
2072
2
原创 编写函数将方阵 a[3][3]={1,2,3,4,5,6,7,8,9} 转置 (思路清晰一看就明白的)
直接上代码void transposition(int a[3][3])//转置{ int i, j = 0; int c[3][3] = { 0 }; for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { c[i][j] = a[j][i]; printf("%d", c[i][j]); } printf("\n"); }}int main(){ int a[3][3] =
2021-12-04 21:33:57
617
7
原创 关于整形与浮点型与在内存中存储的区别
前言: 学习了int,double,fouat后我们会有疑惑这些是怎么在内存中存储的,因此我们展开标题内容进行说明。一、int 型内存中存储-1的 原码10000000000000000000000000000001 补码111111111111111111111111111111111110 反码1111111111111111...
2021-12-02 00:13:39
716
2
原创 牛客网题目BC76公务员面试
题目链接:公务员面试_牛客题霸_牛客网 (nowcoder.com)思路:首先看见题目要去掉头尾,我们会思考如何去掉,此时简单的思路就是先找到在拿掉;在把剩余数字相加求平均值。法一:#include<stdio.h>int main(){ int i = 0; int j = 0; int arr[7] ={0}; int max = 0; float sum = 0.0; int min = 100; int size = sizeof(arr) / s
2021-11-29 22:58:33
312
4
原创 猜凶手游戏
日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词:A说:不是我。B说:是C。C说:是D。D说:C在胡说已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手int main(){ int killer = 0; for (killer = 'a'; killer <= 'd'; killer++) { if ((killer != 'a') + (killer ==
2021-11-26 09:21:27
2481
3
原创 调整奇偶数的顺序
学习目标:如何利用代码实现调整数组使奇数全部都位于偶数前面。代码思路:1创建变量left,right;left数组起始位置的首元素,right为末位置的元素;2.利用left从左到右找奇数,right从右到左找偶数。3.找到后进行交换。4利用for循环打应出交换后的数组元素。void array(int ch[], int size){ int exchange = 0; int left = 0; int right = size - 1; while (lef
2021-11-22 23:48:58
162
3
原创 关于vs2022系列与strcpy函数的使用方法。
文章目录1.vs调试的基本步骤与基本使用方法。2.Debug与Release的区别。3.strcpy全称string copy -字符拷贝。strcpy函数的用法。前言在c语言的学习上每天都有知识需要记,博客就是我们的笔记本可以分享学习。一、调试的基本步骤1.发现程序错误的存在.2.以隔离、消除等方式对错误进行定位.3.确定错误产生的原因.4提出纠正错误的解决办法.5.对程序错误进行改正,重新测试.二、vs系列的基本操作方式。调试 F5
2021-11-21 22:05:43
7158
6
原创 对于结构体的分析
文章目录结构体知识的理解 一、结构体的声明 1.结构的基础知识:结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 2.结构的声明: struct tag{ member-list; }variable-list; 由3部分组成,strut tag 结构体名称 结构体标签。 member-list成员列表。 varia...
2021-11-21 14:01:00
110
1
原创 如何去求二进制中1的个数
1.计算一个数的二进制中1的个数代码。2.计算2个数中二进制位上相同位都有1的个数。3.打印出二进制位上奇偶位置上的0与1。一、计算一个数的二进制中1的个数代码//算补码中1的个数count_number_of_1(unsigned int m){ int c = 0; while (m) { if (m % 2 == 1) { c++; } m /= 2;...
2021-11-20 23:45:23
577
原创 敲三字棋的思路
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言#字棋大家都了解也在纸上与同桌玩过。现在让我们进行回忆。 一:游戏菜单 二:构造棋盘 三:打印棋盘 四:下棋 1玩家下棋 2电脑下棋 五:构造规则(对输赢的判断) 总结:需要大量的知识的融合(运用了函数的定义与声明,while循环,if else语句,Switch语句,以及重要的时间戳)前言随着c语言的深入了解与认识,我们要进行实战演练。三字棋与其进行优化是一个不错的演练。在
2021-11-11 00:32:15
4212
1
原创 c基础学习
全局变量和局部变量所谓的局部变量通俗就是指{}在大括号内部的变量;然而全局变量在{}外的生命周期生命周期小范围指的是一个代码运行到结束,大的指程序的退役。stdio.h全称”standard input output.header“.中文翻译为“标准输入输出头文件”一.常量指的是不能变的量但我们用const去修饰变量是如const int num =10;此时num本身是变量但是加上const后无法改变。如图数组的运用,这边字符串末尾自带\0;而下面那个是一直输出遇.
2021-10-17 17:21:03
168
3
原创 一点运算题目
在本实例中,使用条件运算符和逻辑运算符构造表达式,通过输出函数显示表达式的结果,根据结果分析表达式的计算过程。#include<stdio.h>int main(){ int m=2,n=3,a=1,b=2; /*定义变量m,n,a和b并赋值*/ int x,y; /*定义变量x和y*/ x=(m=a>b)&&(...
2021-10-16 16:57:08
1376
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人