自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (3)
  • 收藏
  • 关注

原创 GCC编译报错“dereferencing pointer to incomplete type”

a.h里定义了该结构体,b.h结构体里使用了该结构体的成员,b.h中引用了头文件a.h,然后居然没有找到定义,就离谱。结构发现是a.h层层嵌套头文件结构也包含了b.h文件,编译.c文件为目标文件时b.h在a.h中展开报错找不到定义。只找到了结构体的声明,未找到结构体的定义,大概率是头文件的问题。这里记录一种可能,废了老牛鼻子劲才找到原因。

2024-03-07 20:37:48 587

原创 gcc简介及使用技巧带例子

关键字:GNU GCC gcc 编译 链接 搜索路径目录目标脑图内容1 是什么2 为什么1 有什么1.1 GCC gcc 和g++有什么区别?1.2开发前的准备1.3 gcc常用选项1.4 gcc进阶1.5 gcc编译路径问题1.6 附录目标 什么是gcc,它能干什么? GCC、gcc、g++三者有何关系? 开始开发前应该做些什么准备? 掌握gcc常用指令的使用。 脑图 内容...

2021-08-29 09:52:35 695

原创 Window上装Linux系统的便捷方法,简单又省事!

Win上安装linux系统以及编程准备工作关键字: Linux WSL Ubuntu gdb1 背景我们平时办公使用的是Windows,但编码可能需要在linux环境上进行,因此可以通过三种方式获得linux环境:(1)虚拟设备申请,远程连接使用即可;(2)使用软件VMware Workstation添加虚拟linux系统;(3)使用windows自带的wsl支持构建linux环境。这里我将介绍方法(3),因为该方法比较简单,而且没有方法(1)(2)存在的限制。在没有多余的设备...

2021-08-28 07:15:29 2670

原创 C/C++关于无符号整型数与有符号整型数相运算

由于C对同时包含有符号和无符号数的表达式的处理方式,出现了一些奇特的行为。当执行一个运算时,如果它的一个运算数是有符号的而另一个是无符号的,那么C会隐含地将有符号参数强制类型转换为无符号数,并假设这两个数都是非负的,来执行这个运算。请看如下代码并判断输出结果:#include"stdio.h"int main(){ int x=-1; unsigned int y=1; printf("x+y=%d",x+y); if(x<0u) { printf("yes!\n");.

2021-04-21 20:19:13 2025

原创 大端模式-小端模式详解

大端模式(big endian),小端模式(little endian)指的是什么?**端(endian)**模式是指计算机中字节的存储顺序。地址的高低与字节的高位和低位的对应关系就有了大端和小端的区别。假设我们声明一个int类型的变量,附上十六进制值。int x=0x12345678//地址为0x100大端模式:高位字节存放在低地址0x1000x1010x1020x10312345678小端模式:高位字节放在高地址0x1000x1010x102

2020-12-15 16:16:56 1932

原创 小Q在周末的时候和他的小伙伴来到大城市逛街,一条步行街上有很多高楼,共有n座高楼排成一行...----腾讯校园招聘

问题描述思路代码

2020-09-22 11:23:18 2414 1

转载 C++多线程编程(入门实例)

小白接触多线程,做个记录!!!原文入口

2020-09-17 16:00:40 124

转载 二叉树的前序/中序/后序遍历方法的递归与循环的实现

二叉树的前序/中序/后序遍历方法的递归与循环的实现对于二叉树的三种遍历方法, 递归方法实现起来简单,明白。但是效率不好,并且不安全,可能会栈溢出。循环的实现,肯定是基于栈的数据结构来实现,要复杂一些。代码如下:前序遍历的实现:// 前序遍历 ----基于递归void PreorderTraversal(BinaryTreeNode* pRoot_){ // 为空时,直接返回了 if (!pRoot_) return; std::cout &l.

2020-09-08 09:26:16 160

原创 《计算机网络》学习笔记---数据链路层(第3章)

链路是从一个结点到相邻结点地一段物理线路,数据链路则是在链路的基础上增加了一些必要的硬件(如网络适配器)和软件(如协议的实现)。数据链路层使用的信道主要有点对点信道和广播信道两种。数据链路层传送的协议数据单元是帧。数据链路层的三个基本问题则是:封装成帧、透明传输和差错检测。循环冗余检验CRC是一种检错方法,而帧检验序列FCS是添加在数据后面的冗余码。点对点协议PPP是数据链路层使用最多的一种协议,它的特点是;简单;只检测差错,而不是纠正差错;不使用序号,也不进行流量控制;可同时支持多种网络层协议。.

2020-09-04 15:27:20 567

原创 《计算机网络》学习笔记----物理层(第2章)

物理层的主要任务就是确定与传输媒体的接口有关的一些特性,如及其特性、电气特性、功能特性和过程特性。一个数据通信系统可划分为三大部分,即源系统、传输系统和目的系统。源系统包括源点(或源站、信源)和发送器,目的系统包括接收器和终点(或目的站、、信宿)。通信的目的是传送消息。如语音、文字、图像、视频等都是消息。数据是运送消息的实体。信号则是数据的电气或电磁的表现。根据信号中代表消息的参数的取值方式不同,信号可分为模拟型号(或连续信号)和数字信号(或离散信号)。代表数字信号不同离散数值的基本波形称为码元。.

2020-09-04 08:35:59 331

原创 《计算机网络7》学习笔记----概述(第1章)

计算机网络(可简称为网络)把许多计算机连接在一起,而互联网则把许多网络连接在一起,是网络的网络。以小写字母i开始的internet(互连网)是通用名词,它泛指由多个计算机网络互连而成的网络。在这些网络之间的通讯协议(即通讯规则)可以是任意的。以大写字母I开头的Internet(互联网)是专用名词,它指当前全球最大的、开放的、由众多网络互相连接而成的特定互连网,并采用TCP/IP协议族作为通讯规则,且其前身是美国的ARPANET。Internet的推荐译名是“因特网”,但很少被使用。互联网现在采用存储.

2020-09-03 14:24:54 174

原创 矩阵中的d路径--剑指Offer(C++)

矩阵中地路径–回溯法(矩阵、递归)一、回溯法回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。回溯算法实际上一个类似枚举的深度优先搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回(也就是递归返回),尝试别的路径。(详情介绍)二、问题描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的

2020-08-31 20:16:35 681

转载 简单易懂回溯算法

一、什么是回溯算法回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。回溯算法实际上一个类似枚举的深度优先搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回(也就是递归返回),尝试别的路径。二、回溯算法思想回溯法一般都用在要给出多个可以实现最终条件的解的最终形式。回溯法要求对解要添加一些约束条件。总的来说,如果

2020-08-31 18:32:51 288

原创 《C++ Primer Plus》学习笔记——C++中关键词const的用法和作用

C++中关键词const的用法和作用1、声明常量,可以采用const声明常量。格式为:const VarType VarName=value;如:const int a=10;//const声明的为常量,在成熟中不可更改,即a=20这样的赋值操作不被允许。2、const也可以用来修饰函数的形参。被修饰的参数在函数中只允许读,不可修改。格式为:Int a=10;void show1(const int a){a=20;//操作不被允许cout<<a;}同样的,也可以用来

2020-07-01 12:57:31 199

原创 《C++ Primer Plus》学习笔记——文本I/O和文本文件(cin读取原理)

文本I/O和文本文件(cin读取原理)使用cin进行输入时,程序将输入视为一系列的字节,其中每个字节都被解释为字符编码(例如ASCII编码)。不管目标数据类型是什么,输入一开始都是字符数据——文本数据。然后,cin会负责将文本转换成其他类型。假设有如下输入行:(看一看使用不同数据类型的变量来存储时,cin是如何处理输入行的。)38.5 19.2①char数据类型char ch;cin>>ch;输入行中的第一个字符被赋给ch。在这里,第一个字符是数字3,其字符编码(二进制)被存储在

2020-05-29 12:10:10 353

原创 《C++ Primer Plus》学习笔记——带你了解字符函数库cctype

字符函数库cctypeC++从C语言继承了一个与字符相关的、非常方便的函数软件包,它可以简化诸如确定字符是否为大写字母、数字、标点符号等工作,这些函数的原型是在头文件cctype(老式风格中为ctype.h)中定义的。使用这些函数判断比使用逻辑运算符AND和OR方便,并且更通用。因为这些函数能适应各种字符的编码。下面是cctype软件包中的函数。char a=67;isalum(a)//如果参数是字母数字,即字母或数字,该函数放回trueisalpha(a)//如果参数是字母,放回trueisc

2020-05-29 07:19:14 179

原创 《C++ Primer Plus》学习笔记——类型别名typedef

类型别名typedefC++在为类型建立别名的方式有两种。使用预处理器#define A char这样,预处理器将在编译程序时用char替换所有的A,从而使A称为char的别名。使用关键字typedeftypedef char B;//通用格式:typedef typeName aliasName;例如,要让B_pointer成为char指针的别名,typedef char *B_pointer;需要注意的是:我也可以用#define A_pointer char *但两种方式是有

2020-05-28 10:28:08 346

原创 《C++ Primer Plus》学习笔记——自动存储、静态存储和动态存储

自动存储、静态存储和动态存储根据用于分配内存的方法,C++有3种管理数据内存的方式:自动存储、静态存储和动态存储(有时也叫作自由存储空间或堆)。在存在时间的长短方面,以这3种方式分配的数据对象各不相同。(C++11新增了第四种类型——线程存储,这里不做讨论。)自动存储在函数内部定义的常规变量使用自动存储空间,被称为自动变量,这意味着它们所属的函数被调用时自动产生,在该函数结束时消亡。**实际上,自动变量是一个局部变量,其作用域为包含它的代码块。**代码块是被包含在花括号中的一段代码。如果在某个代码块

2020-05-28 07:33:43 185

原创 数据结构与算法课程设计之五子棋(人机)

数据结构与算法课程设计之五子棋(人机)五子棋是全国智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏。通常双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成五子连线者获胜。这是我在大二下数据结构与算法课程设计的时候做的经典小游戏。如果仅仅做一个人人对战的五子棋(不联机)是非常简单的。这实际就是一个简单的界面设计,鼠标事件的响应以及五子连珠的判断问题。但我做了一个人机对战的五子棋。你下一子,电脑会下一子,谁先连成五子谁获得胜利。想要电脑足够智能(当然没有用到现在比较热门的机器学习和深度

2020-05-27 15:38:26 5250

原创 C++课程设计之我的小游戏欢乐小鱼

C++课程设计之我的小游戏欢乐小鱼这是我大一下学期做的程序,在这里仅为了记录一下,避免以后电脑出问题,文件丢失。C++课程设计通常都是要求两三周之内做一个C++语言的课程设计,有的学校老师会给每个学生安排题目,有的学校老师也允许自由选题。我们学校老师的要求就是可以自己选题,也可以选择老师给出的题目。我选择的是自己做一个有界面小游戏。这是我做的小游戏的登录界面,这并不是一个静态的界面,是有一个进入的界面的。整个程序有672行,用到了数据结构链表,思想比较简单。由于有相对比较漂亮的界面效果,所以需要

2020-05-27 14:52:01 1577

原创 《C++ Primer Plus》学习笔记——使用new来创建动态数组

使用new来创建动态数组在C++的使用过程中,我们可以通过创建数组的方式来管理同一类型的数据。声明一个数组的方式就必须知道数组的长度,如果我们并不知道数组的具体长度,我们就需要将数组的长度设置得足够大这必然会造成内存的浪费。因此,我们可以采用指针来创建动态数组。在编译时给数组分配内存被称为静态联编(static binding),意味着数组实在编译时加入到程序中的。但使用new时,如果在运行阶段需要数组,则创建它;如果不需要,则不创建。还可以在程序运行时选择数组的长度。这被称为动态联编(dynamic

2020-05-26 21:18:40 328

原创 《C++ Primer Plus》学习笔记——共用体union

共用体共用体(union)是一种数据格式,它能够存储不同的数据类型,但只能同时存储其中的一种类型。也就是说,结构体可以同时存储int、long和double,共用体只能存储int、long或double。共用体的句法与结构体相似,但含义不同。**共用体三字的共用重点在共用内存。**例如,请看下面的声明:union one4all{ int int_val; long long_val; double double_val;}可以使用one4all变量来存储int、long或double,条

2020-05-26 17:31:06 194

原创 《C++ Primer Plus》学习笔记——函数getline()和函数get()

在学习C++的时候,如果只是输入一个字符:char str;cin>>str;如果要输入一个字符串:const int Size=10;char str[Size];cin>>str;上面这种方式会在我们需要输入这样的字符串(“I am from China!”)时遇到问题。因为cin使用空白(空格、制表符、换行)来确定字符串的结束位置。所以如果要读入这样包含空格的字符串就需要使用到getline()函数或get()函数。那么这两个函数有什么区别呢?getlin

2020-05-26 16:16:22 261

原创 《C++ Primer Plus》学习笔记——char类型

char类型:字符型、小整型在我们学习C++的时候通常被强调char是字符型,存储容量为一个字节(8位)。在定义char类型的变量后,为其赋值采用的是单引号括起来的的一个字符。比如:char c='A';cou<<c<<endl;那么上面定义的char类型c所标记的1个字节的内存中存储的到底是什么呢?我们知道计算机存储数据的方式都是以二进制的方式存储的。所以,c所存储的值实际上是字符’A’的ASCII码67的二进制值。我们同样可以采用以下方式给c赋值:char c=67;

2020-05-25 19:03:28 183

原创 C++中的无符号整型0-1问题

一般来说,让小学生做一个0-1的问题,她很容易得出的答案是-1。对于计算机,如果0,1都是整型即int,计算机计算得到的结果也是-1,是没错的。如果对计算机组成原理不了解的话,可以看看这位博主的介绍:计算机中减法的实现原理对于无符号整型既unsigned int,它是32位的,范围是0~4294967296(2的32次方)。所以,在c++中,如果我们定义了一个unsigned int k=0;在用k-1,得到的结果就是4294967295。...

2020-05-19 22:48:51 5102

原创 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。--剑指offer(C++)

题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。在做这个问题之前,让我们看看简化版题目的做法。简化版题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。分析: 对于这样的问题,采用递归求解是最佳方法。通过分析很容易得到下表。台阶数n跳法0011223345……n?表1分析表1,我们

2020-05-18 21:23:29 1351

原创 用两个栈来实现一个队列,完成队列的push和pop操作。 队列中的元素为int类型。

**题目描述:**用两个栈来实现一个队列,完成队列的push和pop操作。 队列中的元素为int类型。**思路:**栈是后进先出,队列是后进后出。堆栈1中元素出栈,出栈的元素进入堆栈2,这样就使得堆栈 1和堆栈2中的元素的顺序恰好是相反的。(比如堆栈1中元素顺序为{5 4 3 2 1},那堆栈2中元素顺序必然为{1 2 3 4 5})利用这个性质就可以完成队列的push和pop操作。堆栈1堆栈2实际队列511422333244155

2020-05-17 22:36:47 244

原创 零基础学制作Linux系统——磁盘分区的设置(学习记录1)

参考书:《手把手教你构建自己的Linux系统》1.Virtualbox(虚拟机)下载地址:https://www.virtualbox.org/wiki/Downloads2.LiveCD(自生系统)下载地址:http://www.linuxfromscratch.org/livecd/download.html在开始系统制作之前,先进行分区,这样能保证系统在制作完成之后就可以运行了。...

2019-11-10 20:33:50 147

原创 从零开始之数据库课程设计1

数据库课程设计,MFC,出版社信息管理系统

2019-11-01 20:39:59 83606

原创 OBDC驱动程序不支持动态数据集的解决方案

MFC VS2010 数据库链接

2019-10-23 16:38:14 196

原创 计算机存储器分类

摘要:本文主要介绍存储器的分类及各类存储器的优缺点。存储器:是电脑硬件的重要组成部分,是计算机系统中的记忆设备,用来存放数据和程序。存储器的分类:一、按存储介质分类存储介质指的是寄存“0”,“1”两种代码并能区分两种不同状态的物质或元器件,有半导体器件、磁性材料、光盘等。①半导体存储器半导体存储器根据其材料的不同,分为双极型(TTL)半导体存储器和(MOS)半导体存储器。前者具有高速的...

2019-03-10 20:57:09 6592

数据结构与算法课程设计五子棋

这是经典小游戏五子棋含人机的图片资源包,内不含程序源代码,如果你需要源代码的话,可以点击我的主页的文章获取源代码,上面也有这个程序的一些介绍(含截图)。

2020-05-27

C++课程设计游戏欢乐小鱼资源包

注意,压缩包仅仅是资源文件,不包含源代码,需要源代码的同学可以访问我主页的文章。请不要在不了解的情况下下载。

2020-05-27

数据库课程设计实验报告.docx

这只是报告内容,报告内也只包含主要代码,供参考

2019-11-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除