![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
文章平均质量分 73
可能只会写BUG
这个作者很懒,什么都没留下…
展开
-
C++ RTTI 运行时类型信息
TOCTOC。原创 2024-08-06 17:28:19 · 293 阅读 · 0 评论 -
C++ 依赖倒置
TOCTOC。原创 2024-08-06 17:27:28 · 146 阅读 · 0 评论 -
C++ 继承 派生类的拷贝构造
拷贝构造,也是一种构造函数,也没有被继承下来。原创 2024-08-04 20:05:01 · 643 阅读 · 0 评论 -
C++ 指向类成员的指针
C++扩展了指针在类中的使用,使其可以指向类成员(数据成员和函数成员),这种行为是类层面的,而不是对象层面的。指向非静态数据成员的指针在定义时必须和类相关联,在使用时必须和具体的对象关联。由于类不是运行时存在的对象。因此,在使用这类指针时,需要首先指定类的一个对象,然后,通过对象来引用指针所指向的成员。指向类成员的指针,具有指针的形而不具体指针的实,或者,确切意义上说,不指是指针。指向类成员的指针,本质存放的不是地址,存放的偏移量。原创 2024-07-31 18:19:40 · 385 阅读 · 0 评论 -
C++ static关键字在类中的扩展
C++扩展了 static 在类中的语意,用于实现在同一个类,多个对象中共享数据,协调行为的目的。静态变量有全局变量的优势,又不会像全变量一样被滥用。而用于管理静态变量,就需要用到静态函数。类的静态成员,属于类,也属于对象,但终归属于类。原创 2024-07-31 18:19:21 · 275 阅读 · 0 评论 -
C++ String 字符串类
/0xf55e40//hello//初始化字符串//32//32//32//world//next//字符串再次赋值s1=s2;//next//cin输入字符串//字符串会获取输入第一个空格之前的的数据//cin>>s1;//输入的数据//使用getline函数获取输入的所有数据,包括空格//输入的数据。原创 2024-07-27 18:36:01 · 513 阅读 · 0 评论 -
C语言-TCP通信创建流程
在服务器绑定 ip 地址与端⼝号之后, 则需要让服务器 socket 套接字设置成被动监听状态,并。首先,我们需要创建套接字,套接字是通信的基础。我们可以通过 socket() 函数来创建套接字。在服务器端调用 accept 函数之后, 则可以接收客户端的连接请求, 并创建新的套接字用于数据。在服务器端调用 listen 函数之后, 则可以开始接收客户端的连接请求, 并创建新的套接字。接收数据需要调用 recv() 函数。创建套接字之后,我们需要连接服务器。连接服务器需要调用 connect() 函数。原创 2024-07-26 19:18:58 · 473 阅读 · 0 评论 -
C++内联函数
C 语言中有宏函数的概念。宏函数的特点是内嵌到调用代码中去,避免了函数调用的开销。但是由于宏函数的处理发生在预处理阶段,缺失了语法检测和有可能带来的语意差错。原创 2024-07-26 19:12:18 · 180 阅读 · 0 评论 -
C++内存申请和释放
c 语言中提供了 malloc 和 free 两个系统函数,完成对堆内存的申请和释放。而 c++则提供了两关键字 new 和 delete;原创 2024-07-25 20:01:09 · 627 阅读 · 0 评论 -
从C到C++入门篇(三)引用;引用的本质
变量名,本身是一段内存的引用,即别名(alias)。此处引入的引用,是为己有变量起一个别名。int a= 500;//变量名.实质是一段内存空间的别名(int。原创 2024-07-25 20:00:42 · 796 阅读 · 0 评论 -
从C到C++入门篇(二)函数重载,运算符重载和默认参数
C++支持函数重载,即同名函数可以根据参数的不同而有不同的实现。原创 2024-07-24 18:02:46 · 902 阅读 · 0 评论 -
从C到C++入门篇(一)新类型和标准输入输出
C 语言中 const * ->non-const* / void * ->sometype * / type-> type均是可以的,但是在 C++中则编译通不过。原创 2024-07-24 18:01:57 · 683 阅读 · 0 评论 -
非阻塞IO-多路复用select函数用法及其源代码解读
/ 定义一个结构体来存储文件描述符集合void *bits;// 指向文件描述符集合的指针// 返回值和最大文件描述符数// 文件描述符集合的大小// 文件描述符表//!栈上分配的文件描述符集合,分配数组空间,⽤于存储⽂件描述符// 初始化返回值为无效参数错误if (n < 0) // 如果传入的文件描述符数小于0,则返回错误// 读取RCU锁// 获取当前进程的文件描述符表// 获取最大文件描述符数// 释放RCU锁。原创 2024-07-23 13:45:42 · 1141 阅读 · 0 评论 -
非阻塞IO-多路复用-epoll的使用
TOCTOC。原创 2024-07-23 13:44:18 · 732 阅读 · 0 评论 -
c语言 字符串操作函数
strlen()函数用于计算字符串的长度,返回字符串的字符数。长度为11,因为它包含了11个字符。原创 2024-06-15 23:36:09 · 1387 阅读 · 2 评论 -
C语言的内存操作函数详解
程序,是经源码编译后的可执行文件,可执行文件可以多次被执行,比如我们可以多次打开 office。而进程,是程序加载到内存后开始执行,至执行结束,这样一段时间概念,多次打开的 wps,每打开一次都是一个进程,当我们每关闭一个 office,则表示该进程结束。程序是静态概念,而进程动态/时间概念。原创 2024-06-16 20:37:03 · 1101 阅读 · 0 评论 -
C语言 逆置字符串
C语言 逆置字符串。原创 2024-06-16 20:40:14 · 115 阅读 · 0 评论 -
shell编程
bin/bashvar1=123var2=abc #在shell脚本中给变量赋值的时候不能再等号前后出现空格var3='hello world' #如果值字符串中有空格需要使用单引号var4="hi $var2" #如果值字符串中有获取变量值过程使用双引号echo $var1echo $var2echo $var3echo $var4。原创 2024-06-17 19:45:35 · 304 阅读 · 0 评论 -
c语言 文件操作
行是文本编辑器中的概念,文件流中就是一个字符。这个在不同的平台是有差异的。window 平台 ‘\r\n’,linux 平台是’\n’。原创 2024-06-17 21:08:51 · 1016 阅读 · 0 评论 -
shell脚本详细用法
bin/bashvar1=123var2=abc #在shell脚本中给变量赋值的时候不能再等号前后出现空格var3='hello world' #如果值字符串中有空格需要使用单引号var4="hi $var2" #如果值字符串中有获取变量值过程使用双引号echo $var1echo $var2echo $var3echo $var4/bin/bashthenecho "有写权限"elseecho "没有写权限,添加了写权限"fi。原创 2024-06-19 19:31:41 · 1245 阅读 · 0 评论 -
C语言执行终端命令
system()函数:system()函数用来执行一个shell命令,并返回执行结果。popen()函数:popen函数是C语言标准库中的一个功能强大的工具,它允许程序与命令行命令进行交互。fork()和exec系列函数:fork()和exec系列函数是C语言标准库中的另一种执行命令的函数。fork()函数创建一个新的进程,并返回子进程的PID。exec系列函数用来替换当前进程的执行文件,并执行指定的命令。推荐使用exec系列函数来执行命令,因为它更加灵活,可以指定环境变量。原创 2024-06-20 19:32:31 · 1495 阅读 · 0 评论 -
c语言 实现栈结构
c语言 实现栈结构。原创 2024-06-20 22:35:12 · 231 阅读 · 0 评论 -
c语言的存储类型-存储类
共有两种变量存储在静态存储区:全局变量和 static 变量,只不过和全局变量比起来,static 可以控制变量的可见范围,说到底 static 还是用来隐藏的。const修饰的变量是只读变量,const修饰的全局变量在.ro data段,const修饰的局部变量在栈上。auto 存储类是默认的存储类,声明的变量将在栈上分配内存,生命周期与变量相同。register修饰的是寄存器类型的变量,在一个处理器中寄存器的个数是有限的,所以不能将所有的变量都定义成寄存器类型的变量,寄存器类型的变量比一般。原创 2024-06-21 22:37:10 · 736 阅读 · 0 评论 -
c语言中的结构体
int age;char sex;}stu[3];int age;char sex;int age;char sex;int grade;}cls;原创 2024-06-21 22:51:01 · 222 阅读 · 0 评论 -
shell脚本if/else使用示例
【代码】shell脚本if/else使用示例。原创 2024-06-25 14:57:55 · 308 阅读 · 0 评论 -
linux的安装程序 与 文件 相关的命令
软件包中包含安装的可执行程序(binary),包含软件的说明文档,包含软件的使用的man手册等,将这些内容打包成一个软件包,可以给用户安装使用。(1).deb:ubuntu系统可以安装的包格式(2).rpm:redhat系统可以安装的包格式。原创 2024-06-25 14:59:27 · 1689 阅读 · 0 评论 -
makefile
Makefile是用来编写编译规则的文件,Makefile可以根据文件的时间戳决定文件是否参与本次编译。在大型项目中会使用Makefile做工程管理,决定本次那个文件参与编译,可以提升编译的效率。原创 2024-06-26 18:41:17 · 963 阅读 · 0 评论 -
C语言-二级指针应用场景
使用二级指针的主要目的是为了安全地管理和修改指针,避免悬挂指针问题。在函数内部,能够直接修改调用者的指针,使其指向 NULL,从而提升代码的健壮性。原创 2024-06-26 19:37:24 · 1023 阅读 · 0 评论 -
linux中find命令和exec的强大组合用法
Find 是一个已经非常强大的命令,用于根据许多条件搜索文件。exec 命令使您能够处理 find 命令的结果。我在这里分享的例子只是一瞥。find-exec 命令组合在一起为您提供了在 Linux 命令行中执行操作的无限可能。find 和 exec 命令。原创 2024-06-28 19:23:33 · 1236 阅读 · 0 评论 -
C语言 实现链表的各种功能
文件名:link_list.h}LNode;//初始化链表//链表是否为空//链表长度//链表头部插入元素//链表尾部插入元素//插入链表指定位置//链表删除元素头删//链表删除指定位置元素//删除链表元素尾删//链表中查找指定位置元素//修改链表指定位置元素//清空链表//销毁链表//打印链表链表是一种常见的数据结构,在实际应用中有着广泛的应用。本文介绍了链表的定义、实现、操作、测试等功能。原创 2024-06-29 17:18:37 · 486 阅读 · 0 评论 -
Linux多进程和多线程(一)-进程的概念和创建
进程(Process)是操作系统对一个正在运行的程序的一种抽象。它是系统运行程序的最小单位,是资源分配和调度的基本单位。原创 2024-06-29 20:16:35 · 1612 阅读 · 0 评论 -
Linux多进程和多线程(二)-进程间通信-管道用法
TOCTOC。原创 2024-06-30 12:52:35 · 1117 阅读 · 0 评论 -
Linux多进程和多线程(三)进程间通讯-信号处理方式和自定义处理函数
123456678910// 用户自定义信号1112131415161718192021。原创 2024-06-30 16:05:55 · 919 阅读 · 0 评论 -
Linux多进程和多线程(四)进程间通讯-定时器信号和子进程退出信号
定时器类型:setitimer() 支持三种定时器类型(实际时间、用户态时间、用户态和内核态时间),更灵活。alarm() 只支持实际时间定时器。精度:setitimer() 支持微秒级精度。alarm() 只支持秒级精度。支持多个定时器:setitimer() 可以同时设置和管理多个不同类型的定时器。alarm() 只能设置一个定时器,后续调用会覆盖之前的定时器。原创 2024-07-03 11:53:54 · 1063 阅读 · 0 评论 -
Linux多进程和多线程(五)进程间通信-消息队列
TOCTOC。原创 2024-07-03 11:56:06 · 850 阅读 · 0 评论 -
Linux多进程和多线程(六)进程间通信-共享内存
TOCTOC。原创 2024-07-06 22:33:41 · 924 阅读 · 0 评论 -
Linux多进程和多线程(七)进程间通信-信号量
多个进程竞争同一资源时,会发生资源竞争。资源竞争会导致进程的执行出现不可预测的结果。原创 2024-07-06 22:35:15 · 1563 阅读 · 0 评论 -
C语言文件操作-文件IO(系统调用)
TOCTOC。原创 2024-07-09 22:38:25 · 1436 阅读 · 0 评论 -
Linux多进程和多线程(八)多线程
线程是进程中的⼀个执⾏单元,负责当前进程中程序的执⾏,⼀个进程中⾄少有⼀个线程⼀个进程中是可以有多个线程多个线程共享同一个进程的所有资源,每个线程参与操作系统的统一调度可以简单理解成 进程 = 内存资源 + 主线程 + 子线程 +…原创 2024-07-09 22:40:38 · 737 阅读 · 0 评论 -
网络编程-TCP/IP
网络采用分而治之的方法设计,将网络的功能划分为不同的模块,以分层的形式有机组合在一起。每层实现不同的功能,其内部实现方法对外部其他层次来说是透明的。每层向上层提供服务,同时使用下层提供的服务网络体系结构即指网络的层次结构和每层所使用协议的集合两类非常重要的体系结构:OSI 七层模型 与TCP/IP 五层模型。原创 2024-07-17 19:16:08 · 799 阅读 · 0 评论