C语言动态内存分配函数的实现

在C中我们开辟内存空间有两种方式 :
1.静态开辟内存 :例如:int a;int b[10]; 这种开辟内存空间的特点是
所开辟的内存是在栈中开辟的固定大小的 ,如a是4字节 ,数组b是40字...

2021-06-03

C语言重难点之内存对齐和位段

一:结构体内存对齐(1)为什么要存在内存对齐平台原因(移植原因): 不是所有的硬件平台都能访问任意地址上的任意数据的;某些平台只能在某些地址处取得某些特定类型的数据,否则抛出硬件...

2021-06-03

C语言实现高精度加减法

本文实例为大家分享了C语言实现高精度加减法的具体代码,供大家参考,具体内容如下首先,我们来看一下C语言中各类型的最值:unsigned int 0~4294967295
int -2147483648~2147483647
u...

2021-06-03

温故C语言内存管理

1. 内存管理简介在计算机系统,特别是嵌入式系统中,内存资源是非常 有限的。尤其对于移动端开发者来说,硬件资源的限制使得其在程序设计中首要考虑的问题就是如何 有效地管理内...

2021-06-03

C语言自定义数据类型的结构体、枚举和联合详解

结构体基础知识首先结构体的出现是因为我们使用C语言的基本类型无法满足我们的需求,比如我们要描述一本书,就需要书名,作者,价格,出版社等等一系列的属性,无疑C语言的基本数据类型...

2021-06-03

C++中的常用库

1. cmath: 数学计算#include <iostream>#include <cmath>using namespace std; int main (){ // 数字定义 short s = 10; int i = -1000; long l = 100000;...

2021-06-03

opencv实现机器视觉检测和计数的方法

引言在机器视觉中,有时需要对产品进行检测和计数。其难点无非是对于产品的图像分割。由于之前网购的维生素片,有时候忘了今天有没有吃过,就想对瓶子里的药片计数...在学习openc...

2021-06-03

解析Linux下C++编译和链接

编译原理将如下最简单的C++程序(main.cpp)编译成可执行目标程序,实际上可以分为四个步骤:预处理、编译、汇编、链接,可以通过g++ main.cpp –v看到详细的过程,不过现在编译器已经...

2021-06-03

Qt绘制图表的实现

1 简介使用Qt的charts模块来绘制图表,案例来自Qt自带的demo。charts模块简介:Qt Chars模块提供了一系列容易使用的图表组件。需要使用charts组件时,需要导入Qt Charts模块,通过...

2021-06-03

详解C++元编程之Parser Combinator

引子前不久在CppCon上看到一个Talk:[constexpr All the things](https://www.youtube.com/watch&#63;v=PJwd4JLYJJY),这个演讲技术令我非常震惊,在编译期解析json字符串,进而提...

2021-06-03

C++ 虚函数表图文解析

一、前言一直以来,对虚函数的理解仅仅是,在父类中定义虚函数,子类中可以重写该虚函数,并且父类指针可以指向子类对象,调用子类的虚函数(多态)。在读研阶段经历的几个项目中,自己所写...

2021-06-03

C++ 组合 (Composition)的介绍与实例

概述
c++中一个重要的特点就是代码的重用,为了代码重用,有两个非常重要的手段,一个是继承,一个是组合组合 (Composition) 指在一个类中另一类的对象作为数据成员.案例
在平面上...

2021-06-03

QT串口通信的实现方法

前言:如果用qt写程序作为上位机,然后通过和usb和下位机通信的时候,就需要用到qt中的串口通信了。使用qt中的串口通信的时候需要用到的两个头文件分别为:#include <QtSerialPort/...

2021-06-03

C++使用sort对容器排序的实现

本文主要解决以下问题 STL中sort的使用方法 使用sort对vector的排序 使用sort对map排序 使用sort对list排序
STL中sort的使用方法
C++ STL 标准库中的 sort...

2021-06-03

C++ virtual destructor虚拟析构函数

概述虚析构函数 (virtual destructor) 可以帮我们实现基类指针删除派生类对象.问题当我们从派生类的对象从内存中撤销时会先调用派生的析构函数, 然后再基类的析构函数, 由...

2021-06-03

C++ 标准模板库 STL 顺序容器详解

C++ 标准模板库 STL 顺序容器 容器 数据结构 顺序性 重复性 支持迭代器...

2021-06-03

使用C语言实现扫雷小游戏

本文实例为大家分享了C语言实现扫雷小游戏的具体代码,供大家参考,具体内容如下游戏规则在一个9*9的地图上一共有十个雷,翻开所有不是雷的位置 游戏即为胜利,
如果踩到雷,游戏...

2021-06-03

C++小游戏tankwar之界面绘制的详细过程

一、前言闲来无趣,写个C++小游戏二、新建项目2.1创建MFC项目2.2 新建路径2.3 基于对话框三、窗口界面绘制3.1 设置框架进入资源视图双击打开IDD_TANKWAR_DIALOG出现下列界面...

2021-06-03

C语言版扫雷游戏

本文实例为大家分享了C语言版扫雷游戏的具体代码,供大家参考,具体内容如下1、思路
一、创建二维数组,来表示地图
每一个格子要表示的信息:
1、未翻开状态(草地)和已翻开状态(数字)...

2021-06-03

C语言链表实现贪吃蛇小游戏

本文实例为大家分享了C语言链表实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下项目名称:贪吃蛇小游戏运行环境:Linux编程语言:C语言主要语法:链表,指针,函数备注:游戏中可选不同...

2021-06-03

c语言简单实现文件 r/w 操作方法

数据的输入和输出几乎伴随着每个 C 语言程序,所谓输入就是从“源端”获取数据,所谓输出可以理解为向“终端”写入数据。这里的源端可以是键盘、鼠标、硬盘、光盘、扫描仪等输...

2021-06-03

解析之C++的列表初始化语法

聚合初始化先从std::array的内部实现说起。为了让std::array表现得像原生数组,C++中的std::array与其他STL容器有很大区别——std::array没有定义任何构造函数,而且所有内部数...

2021-06-03

c++ 实现文件逐行读取与字符匹配

C++读取文件
首先我们构造一个txt文件用于测试,比如以下这个名为mindspore.txt的文件(之所以取这个名字,是因为最近在研究mindspore,因此最方便拿到的数据就是mindspore的借口ap...

2021-06-03

面试常见问题之C语言与C++的区别问题

C和C++的区别 C语言是一种结构化语言,其偏重于数据结构和算法,属于过程性语言 C++是面向对象的编程语言,其偏重于构造对象模型,并让这个模型能够契合与之对应的问题。其本...

2021-06-03

C++线程间的互斥和通信场景分析

互斥锁(mutex)为了更好地理解,互斥锁,我们可以首先来看这么一个应用场景:模拟车站卖票。模拟车站卖票场景说明:
Yang车站售卖从亚特兰蒂斯到古巴比伦的时光飞船票;因为机会难得,所以...

2021-06-03

C++中的多态详谈

1. 多态概念1.1 概念 多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。 举个栗子:比如买票,当普通人买票时,是全价买...

2021-06-03

C语言中程序如何调用Python脚本

有时候在写C语言程序的时候又想利用一下python强大的模块,于是C与python的混合编程便应运而生。
下面简单说说在C语言编译环境中调用python脚本文件的基础应用。一、环境配置...

2021-06-03

C++多线程实现TCP服务器端同时和多个客户端通信

通讯建立后首先由服务器端发送消息,客户端接收消息;接着客户端发送消息,服务器端接收消息,实现交互发送消息。
服务器同时可以和多个客户端建立连接,进行交互;
在某次交互中,服务器...

2021-06-03

C++实现结束应用进程小工具

C++实现结束应用进程小工具(windows)说明:在电脑上一些软件或系统有时可能会将程序偷偷运行在后台,占用计算机资源的情况。一般我们通过可以找到程序文件所在位置,禁止程序启动的...

2021-06-03

C++编译器Clion的使用详解(总结)

推荐教程Clion2020.2.x最新激活版附安装教程(Mac Linux Windows)最新clion2020激活附安装教程(亲测有效)Clion是由JetBrains公司开发的一款跨平台的C++ IDE,风格接近Qt creat...

2021-06-03

如何通过wrap malloc定位C/C++的内存泄漏问题

前言用C/C++开发的程序执行效率很高,但却经常受到内存泄漏的困扰。本文提供一种通过wrap malloc查找memory leak的思路,依靠这个方法,笔者紧急解决了内存泄漏问题,避免项目流血...

2021-06-03

C语言实现链栈的步骤

链栈图解链栈的常规操作/********************* 链栈的常规操作 ****************************/LinkStack InitLinkStack(); // 初始化链栈int StackEmpty(); ...

2021-06-03

C++入门(命名空间,缺省参数,函数重载,引用,内联函数,auto,范围for)

一.C++关键字C++总共有63个关键字,在入门阶段我们只是大致了解一下就可,在后续博客中会逐渐讲解二.命名空间相信学过C++的同学,一定都写过下面这个简单的程序#include<iostr...

2021-06-03

C语言实现扫雷小游戏详解

本文实例为大家分享了C语言实现扫雷小游戏的具体代码,供大家参考,具体内容如下一.实现功能首先显示一个小菜单,选择是否玩游戏。当用户选择退出时,程序运行结束,当用户选择玩游戏...

2021-06-03

C++实现鼠标控制的黑框象棋

本文实例为大家分享了C++实现鼠标控制的黑框象棋的具体代码,供大家参考,具体内容如下该象棋小游戏的特色有颜色标注出 红方和绿方
可以用鼠标控制颜色原理直接调用用Windows自...

2021-06-03

浅谈c++性能测试工具之计算时间复杂度

google benchmark已经为我们提供了类似的功能,而且使用相当简单。具体的解释在后面,我们先来看几个例子,我们人为制造几个时间复杂度分别为O(n), O(logn), O(n^n)的测试用例://...

2021-06-03

C++实现AVL树的完整代码

AVL树的介绍
AVL树是一种自平衡的二叉搜索树,它通过单旋转(single rotate)和双旋转(double rotate)的方式实现了根节点的左子树与右子树的高度差不超过1,。这有效的降低了二叉...

2021-06-02

C++ deque容器的具体使用

deque 是 double-ended queue 的缩写,又称双端队列容器。和 vector 不同的是,deque 还擅长在序列头部添加或删除元素,所耗费的时间复杂度也为常数阶O(1)。并且更重要的一点是,d...

2021-05-30

C++学习之移动语义与智能指针详解

移动语义
1.几个基本概念的理解
(1)可以取地址的是左值,不能取地址的就是右值,右值可能存在寄存器,也可能存在于栈上(短暂存在栈)上(2)右值包括:临时对象、匿名对象、字面值常...

2021-05-30

程序员都不知道C语言中的这些小细节

既然题目都说了是小细节,一来就介绍细节多没意思啊,先坑坑大家再详细介绍吧,嘿嘿.直接上7个题吧,看看你能做对几个呢&#63;计算型细节①:#include <stdio.h>int main(){ char...

2021-05-29

深入浅析C++ traits技术

前言  traits,又被叫做特性萃取技术,说得简单点就是提取“被传进的对象”对应的返回类型,让同一个接口实现对应的功能。因为STL的算法和容器是分离的,两者通过迭代器链接。算...

2021-05-29

c语言实现两个值互相交换的函数

c语言中实现两个值互换的函数。1、#include <stdio.h>void swap(int n1, int n2){ int tmp; tmp = n1; n1 = n2; n2 = tmp;}int main(void){ int a, b; p...

2021-05-29

如何用C写一个web服务器之GCC项目编译

前言本想着接下来大概实现一下 CGI 协议,但是实现过程中被一个问题卡住了:C进程与php进程的交互数据类型问题:在 C 进程中我准备将服务器处理后的请求数据存储在一个结构体内,然...

2021-05-27

如何用C写一个web服务器之I/O多路复用

前言I/O模型接触过 socket 编程的同学应该都知道一些 I/O 模型的概念,linux 中有阻塞 I/O、非阻塞 I/O、I/O 多路复用、信号驱动 I/O 和 异步 I/O 五种模型。其他模型的具体...

2021-05-27

如何用C写一个web服务器之基础功能

服务器架构目标架构以 nginx 的思想来考虑本服务器架构,初步考虑如下图:当然 php 进程也可以替换为其他的脚本语言,可以更改源码中的 command 变量实现。服务器有一个 master...

2021-05-27

C++11新特性“=default”,“=delete”的使用

1、 =default 和=delete 概述
任何事物的出现都必然有着其出现的理由,伴随着每一个新的概念产生都会带来一系列的便利和价值。C++在不断的演变与发展,与此同时,伴随着许多新的...

2021-05-25

c++实现简单随机数的代码

c++简单随机数#include<iostream>#include<ctime>#include<cstdlib> using namespace std;int random(int n){ return (long long)rand()*rand%n; }int main(){ srand(unsig...

2021-05-23

Qt创建并显示柱状图的方法

创建一个简单的柱状图第一步:创建一个QBarSet对象;QBarSet类代表条形图中的一组条形。QBarSet *set0 = new QBarSet("Jane");QBarSet *set1 = new QBarSet("John");QBarSet *s...

2021-05-20

详解C++语言中std::array的神奇用法

概述std::array是在C++11标准中增加的STL容器,它的设计目的是提供与原生数组类似的功能与性能。也正因此,使得std::array有很多与其他容器不同的特殊之处,比如:std::array的元素...

2021-05-18

C++ DFS算法实现走迷宫自动寻路

C++ DFS算法实现走迷宫自动寻路,供大家参考,具体内容如下深度优先搜索百度百科解释:事实上,深度优先搜索属于图算法的一种,英文缩写为DFS即Depth First Search.其过程简要来说是...

2021-05-17
返回顶部
顶部