C语言结构体简单入门讲解

结构体定义:用于存储不同的数据类型,存储在同一块内存空间里面 关键字 struct 标签 结构体名称 成员例如:struct student{ char name[20]; char sex; int age; float g...

2021-08-09

详解C/C++内存区域划分(简而易懂)

C语言在内存中一共分为如下几个区域,分别是:1. 内存栈区: 存放局部变量名;
2. 内存堆区: 存放new或者malloc出来的对象;
3. 常数区: 存放局部变量或者全局变量的值;
4. 静态区: 用于...

2021-08-09

C语言函数的参数使用指针

在c语言中实参和形参之间的数据传输是单向的“值传递”方式,也就是实参可以影响形参,而形参不能影响实参。指针变量作为参数也不例外,但是可以改变实参指针变量所指向的变量的...

2021-08-09

c++ Bellman-Ford算法的具体实现

Bellman-Ford算法用于解决有边数限制的最短路问题,且可以应对有负边权的图其时间复杂度为O(nm),效率较低代码实现:#include<iostream>#include<cstring>#include<algorithm>#de...

2021-08-09

Qt4和Qt5的信号和槽的使用区别

目录信号和槽的 connect
信号和槽的 disconnect
简 述: Qt4 和 Qt5 的信号和槽的连接 connect 与断开 disconnect 区别
所谓 GUI 界面,归根结底,就是一堆组件的叠加。我们创建...

2021-08-09

C语言中结构体和共用体实例教程

目录一、实验目的
二、实验内容
三、实验记录
3.1 候选人选票统计
3.2 print函数3.3 链表总结一、实验目的
掌握结构体类型变量的定义和使用; 掌握结构体类型数组的概...

2021-08-09

C语言实现简易网络聊天室

本文实例为大家分享了C语言实现网络聊天室的具体代码,供大家参考,具体内容如下业务逻辑:1、客户端注册名字
2、告诉所有在线的客户端,XXX进入聊天室
3、新建一个线程为该客户端...

2021-08-09

C++ 使用CRC32检测内存映像完整性的实现步骤

目录仅对.text代码段进行校验:仅对.text代码段进行校验:通常程序中至少包括了代码段,数据段,而数据段中所存储的数据是经常会发生变动的,例如我们的全局变量,静态变量等都会默认存...

2021-08-09

用C语言实现猜数字

如何用C语言写出一个猜数字游戏,供大家参考,具体内容如下首先调用头文件/***调用头文件***/ #include<stdio.h>#include<time.h>#include<stdlib.h>#include<string.h> /***调...

2021-08-09

C/C++ 常用排序算法整理汇总分享

目录(伪)冒泡排序算法:(真)冒泡排序算法:选择排序算法:直接插入排序:(分组)希尔排序:归并排序算法:迭代归并排序:迭代归并排序2:技巧01:冒泡排序技巧02:选择排序技巧03:直接插...

2021-08-09

C语言使用四种方法初始化结构体

目录什么是结构体结构体的优点定义方法一:定义时赋值方法二:定义后逐个赋值方法三:定义时乱序赋值(C风格)方法四:定义时乱序赋值(C++风格)什么是结构体在实际问题中,一组数据往往有很...

2021-08-09

详解PID控制器原理

目录一、P - Proportional 比例二、I - Integral 积分三、D - Derivative 导数四、调整常数项五、补充六、总结七、调试口诀八、具体方法一、P - Proportional 比例想象一下...

2021-08-09

浅谈c++性能测试工具google benchmark

目录一、测试对象二、使用模板函数生成测试三、定制测试参数四、进一步简化五、揭晓答案六、总结一、测试对象这次测试的对象是标准库的vector,我们将会在vs2019 16.10和Linu...

2021-08-09

C语言链表详解及代码分析

目录什么是链表环境构建建立静态链表包含所需要的头文件宏定义相关变量创建一个结构体主函数结果展示说明建立动态链表包含所需要的头文件宏定义相关变量创建一个结构体建立...

2021-08-09

OpenCV 图像金字塔的实现示例

目录1.高斯金字塔2.拉普拉斯金字塔本文主要介绍了OpenCV 图像金字塔,具有一定的参考价值,感兴趣的可以了解一下 高斯金字塔reduce void cv...

2021-08-09

C++字符串反转的几种方法

通过不同的方法,实现对所输入字符串的反转,可以很好地复习巩固 C++ 基础知识
/*分析过程:  假设要使传递的字符串为常量const字符串,这样操作更加灵活,可直接传递字符串字面...

2021-08-09

一篇文章彻底弄懂C++虚函数的实现机制

目录1、虚函数简介2、虚函数表简介3、有继承关系的虚函数表剖析3.1、单继承无虚函数覆盖的情况3.2、单继承有虚函数覆盖的情况3.3、多重继承的情况3.4、多层继承的情况4、总...

2021-08-09

深入理解Qt信号槽机制

目录1. 信号和槽概述1.1 信号的本质1.2 槽的本质1.3 信号和槽的关系1. 信号和槽概述信号槽是 Qt 框架引以为豪的机制之一。所谓信号槽,实际就是观察者模式(发布-订阅模式)。...

2021-08-09

C++ 实现PE文件特征码识别的步骤

目录打开PE文件映射:判断是否为PE文件:判断PE文件特征码:打开PE文件映射:在读取PE结构之前,首先要做的就是打开PE文件到内存,这里打开文件我们使用了CreateFile()函数该函数...

2021-08-09

c++ 如何实现线程注入

目录简单编写DLL文件:x86 实现远程线程注入:x64 实现远程线程注入:实现普通消息钩子注入:实现全局消息钩子注入:APC应用层异步注入:ZwCreateThreadEx强力注入:强制卸载进程...

2021-08-09

OpenCV实现高斯噪声

本文实例为大家分享了OpenCV实现高斯噪声的具体代码,供大家参考,具体内容如下OpenCV 中提供了fill()函数可以产生均匀分布或者高斯分布(正态分布)的随机数,我们可以利用该函数产...

2021-08-09

C语言指针详解

目录前言:复杂类型说明一、细说指针1.指针的类型2.指针所指向的类型3.指针的值----或者叫指针所指向的内存区或地址4 指针本身所占据的内存区二、指针的算术运算三、运算符&...

2021-08-09

C++函数指针详解

函数指针基础:1. 获取函数的地址2. 声明一个函数指针3.使用函数指针来调用函数获取函数指针:函数的地址就是函数名,要将函数作为参数进行...

2021-08-09

C语言数据结构之顺序表和单链表

一、顺序表的创建、删除和插入#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>struct sqlist { int date[10]; int length;};void InitList(sqlist& L) { for (int i =...

2021-08-09

C++重载运算符实现分数加减乘除

本文实例为大家分享了C++重载运算符实现分数加减乘除的具体代码,供大家参考,具体内容如下实现结果如下图所示:代码如下所示:#include <iostream> using namespace std; class Ra...

2021-08-09

C++ STL 四种智能指针的用法详解

目录0.前言1.unique_ptr2.auto_ptr3.shared_ptr 3.1 简介3.2 通过辅助类模拟实现 shared_ptr4.weak_ptr4.1 简介4.2 用法4.3 作用5.如何选择智能指针0.前言C++ 标准模板库 S...

2021-08-09

C++ STL 序列式容器与配接器的简单使用

目录容器概述序列式容器
array
vector
list
deque
forward_list
Adapter(配接器)
stack
queue
priority_queue
容器概述C++标准里提供了以下容器或容器配接器:...

2021-08-09

正确理解C++的构造函数和析构函数

目录一、构造函数二、C++类的内存模型2.1、只定义成员函数2.2、往空类中添加静态成员变量2.3、再加入非静态成员变量三、this指针四、析构函数一、构造函数首先,由于类只是一...

2021-08-09

OpenCV实现可分离滤波

自定义滤波无论是图像卷积还是滤波,在原图像上移动滤波器的过程中每一次的计算结果都不会影响到后面过程的计算结果,因此图像滤波是一个并行的算法,在可以提供并行计算的处理器...

2021-08-09

C++ 如何实现多线程与线程同步

目录CreateThread 实现多线程:beginthreadex 实现多线程:CreateMutex 互斥锁实现线程同步:通过临界区实现线程同步:Semaphore 基于信号实现线程同步:CreateEvent 事件对象的同...

2021-08-09

C++基于Boost库实现命令行解析

目录第一次尝试第二次尝试最终版第一次尝试#include <iostream>#include <boost/program_options.hpp>// 定义命名空间namespace opt = boost::program_options;int main(in...

2021-08-09

深入理解QT多线程编程

目录一、线程基础
1、GUI线程与工作线程
2、数据的同步访问
二、QT多线程简介
三、QThread线程
1、QThread线程基础
2、线程的优先级
3、线程的创建
4、线程的执行
5、线程...

2021-08-09

C语言char s[]和char* s的区别

目录1、数组本质
2、指针
3、字符数组
4、char * 与 char a[ ]
5、char ** 和char *a[]
6、C语言中char s[] 和 char *s的区别C语言指针可以代替数组使用
1、数组本质
数组...

2021-08-09

C++特性:迭代器

1. 迭代器(Iterator)的介绍背景:指针可以用来遍历存储空间连续的数据结构,但是对于存储空间费连续的,就需要寻找一个行为类似指针的类,来对非数组的数据结构进行遍历。
定义:迭代...

2021-08-09

C语言异常处理机制案例讲解

异常处理机制:setjmp()函数与longjmp()函数  C标准库提供两个特殊的函数:setjmp() 及 longjmp(),这两个函数是结构化异常的基础,正是利用这两个函数的特性来实现异常。
所以,异...

2021-08-09

C++实现Window环境聊天室功能

C++ Window环境聊天室,供大家参考,具体内容如下最近闲来无事,想学习一下C++的并发编程和Socket信息传输,故以聊天室为载体进行学习。话不多说,代码开干。聊天室分为多个客户端和...

2021-08-09

基于C++实现TCP聊天室功能

本文实例为大家分享了C++实现TCP聊天室功能的具体代码,供大家参考,具体内容如下TCPServer.cpp:// TCPServer.cpp : Defines the entry point for the console application.#inc...

2021-08-09

在C语言中输入中文字符串讲解

C语言中的字符串是以ASCII码表的形式存入的,输入英文字符是以英文字符对应的ASCII码的形式进入寄存器中的,例如输出hello world!:将c反汇编得到,可以看到h的ASCII码是68,e的ASCII...

2021-08-09

C++实现简易UDP网络聊天室

本文实例为大家分享了C++实现简易UDP网络聊天室的具体代码,供大家参考,具体内容如下工程名:NetSrvNetSrv.cpp//服务器端#include<Winsock2.h>#include<stdio.h>void main(){//...

2021-08-09

C++入门笔记之std::vector容器详解

目录前言1. vector的构造函数原型:
2. vector的赋值函数原型:3. vector的容量和大小函数原型:4. vector的插入和删除函数原型:5. vector的存取操作函数原型:6. vector的呼唤容器...

2021-08-09

C++有符号和无符号之间的转换问题

先来看一个程序:#include<iostream> int main(){ unsigned a=5; int b=-10; std::cout<<b+b<<std::endl;//正常输出 std::cout<<a+b<<std::endl; return 0;}...

2021-08-09

C程序结构的入门

目录C Hello World 实例
编译 & 执行 C 程序
在我们学习 C 语言的基本构建块之前,让我们先来看看一个最小的 C 程序结构,在接下来的章节中可以以此作为参考。C Hello World 实...

2021-08-09

C++基于socket编程实现聊天室功能

本文实例为大家分享了C++基于socket编程实现聊天室的具体代码,供大家参考,具体内容如下服务端// server.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。// #inc...

2021-08-09

关于C++虚继承的内存模型问题

1、前言C++虚继承的内存模型是一个经典的问题,其具体实现依赖于编译器,可能会出现较大差异,但原理和最终的目的是大体相同的。本文将对g++中虚继承的内存模型进行详细解析。2、...

2021-08-09

C++内存四区之代码区、全局区、栈区和堆区

C++内存四区C++ 在程序执行时,将内存大致分为代码区,全局区,栈区和堆区四个区域。不同的区域存储不同的数据,赋予不同的生命周期,能够更灵活地进行编程。 代码区:存放函数体的...

2021-08-09

在C语言里单引号和双引号的区别

—— C语言中的单引号用来表示字符字面量,编译为对应的ASCII码
—— C语言中的双引号用来表示字符串字面量,编译为对应的内存地址‘a'表示字符字面量,在内存中占一个字节,‘a'+1...

2021-08-09

使用C语言实现字符串逆序操作案例

编写一个函数 reverse_string(char * string)
实现:将参数字符串中的字符反向排列。
要求:不能使用C函数库中的字符串操作函数。
非递归实现:#include<stdio.h>//编写一个函数...

2021-08-09

介绍C语言中tolower函数的实例

C语言tolower函数用于把大写字母转换为小写字母。在本文中,我们先来介绍tolower函数的使用方法,然后编写一个自定义的_tolower函数,实现与tolower函数相同的功能。1、包含头文...

2021-08-09

Qt5实现文本编辑器(附详细代码)

目录1. 功能介绍2. 功能演示3. 代码4. 改进1. 功能介绍老规矩,我们直接上截图这是主界面

文件菜单界面
编辑菜单界面

设置菜单界面

关于菜单界面2. 功能演示设置字体颜色...

2021-08-09

C语言中typedef的用法以及#define区别详解

目录1、简洁定义
2、为已有类型起别名
为字符数组起别名为指针起别名3、typedef 和 #define 的区别总结1、简洁定义
C语言允许为一个数据类型起一个新的别名,就像给人起“绰...

2021-08-09
返回顶部
顶部