自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Linux文件操作—底层文件访问和标准I/O库以及两者的区别

文章目录底层文件访问1.write系调用2.read系统调用3.open系统调用底层文件访问每个运行中的程序被称为进程,它有一些与之关联的文件描述符,我们可以根据文件描述符访问打开的文件或设备,当一个程序运行时,它一般会有3个已经打开的文件描述符。0:标准输入1:标准输出2:标准错误我们可以通过系统调用open把其他的文件描述符与文件和设备相关联,自动打开的文件描述符就已经可以通过...

2020-03-07 20:51:39 835 1

原创 Linux下的静态库和共享库

文章目录一、库文件二、静态库一、库文件库是一种预先编译好的函数的集合,这些函数都是按照可重用原则编写的。它们通常由一组相互关联的函数组成以执行某项常见的任务,例如数据库访问例程(dbm库)。a代表传统的静态函数库;.so代表共享函数库;函数库通常同时以静态库和共享库两种格式存在,一般使用库操作的命令有两种gcc -o fred fred.c /usr/lib/libm.agcc...

2020-03-03 17:34:55 251

原创 C++基础之四个默认函数(构造,析构,拷贝构造,赋值运算符重载)

作用:拿一个已存在的对象来给另一个已存在的对象赋值const1.防止修改实参的值2.接收隐式生成临时对象CGoods& operator=(const CGoods& rhs){ if(this == &rhs)//如果相等便是相同对象 { return *this; } mname = rhs.mname; mprice = rhs.mprice...

2019-12-12 19:38:45 488

原创 C和C++const的区别以及判断const用法正确与否

文章目录C与C++中const用法的区别C语言概念用法C++语言概念用法注意事项判断const用法的正确与否C与C++中const用法的区别C语言概念  const是一个C语言的关键字,具有着举足轻重的地位。它限定一个变量不允许被改变,产生静态作用。使用const在一定程度上可以提高程序的安全性和可靠性。另外,在观看别人代码的时候,清晰理解const所起的作用,对理解对方的程序也有一定帮助...

2019-12-09 23:50:29 627

原创 C++之inline函数(内联函数)详解

文章目录inline函数的基本知识宏和inline函数区别inline函数的优点inline函数的缺点建议:inline函数的注意事项inline和static修饰的函数的区别inline函数的基本知识在函数的调用点直接将代码展开,编译阶段宏和inline函数区别宏是简单的文本替换,没有安全检查和类型检查。本身便是不安全的inline函数因为在编译阶段,所以有安全检查和类型检查,它是安...

2019-12-09 00:03:48 1443

原创 高级数据结构与算法——树和二叉树的基本概念与性质

文章目录树的定义树的基本概念二叉树的定义二叉树的性质完全二叉树定义性质满二叉树树的定义  树是由n(n>=0)个结点组成的有限集合。如果n=0,则称为空树;如果n>0,则有一个特定的结点称为根(root),它只有直接后继,但没有直接前驱;除根以外的其他节点划分为m(m>=0)个互不相交的有限集合T0,T1…,Tm-1每个集合又是一棵树,并且称为根的子树。每棵子树的根节点...

2019-12-07 21:18:35 177

原创 高级数据结构与算法——二叉树的四种遍历算法(含非递归)

文章目录二叉树的遍历定义前序遍历递归算法非归算法中序遍历递归算法非递归算法后序遍历递归算法二叉树的遍历定义  所谓遍历(Traversal)是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。访问结点所做的操作依赖于具体的应用问题。 遍历是二叉树上最重要的运算之一,是二叉树上进行其它运算之基础。  其中搜索路线我们这里介绍4中:前序遍历,中序遍历,后续遍历,层次遍历。前序遍历...

2019-12-07 21:17:54 308

原创 C++中struct和class的区别

C和C++的struct区别C++中的struct继承了C中的所有并且进行了扩展,则区别也就是C++中扩展的那部分,区别如下:C++中可以拥有成员函数。struct可以被继承。可以实现多态。C下定义结构体变量需要加struct,而C++定义结构体变量时不需要加。gcc下分别用C和C++定义空结构体,sizeof() 后的结果分别为0 和 1,vs下C 要求一个结构或联合至少有一个成员...

2019-12-05 22:58:19 511 1

原创 C语言实现编程题黑色星期五

目录问题描述解题思路解题步骤代码问题描述  有些西方人比较迷信,如果某个月的13号正好是星期五,他们就会觉得不太吉利,用古人的说法,就是“诸事不宜”。请你编写一个程序,统计出在某个特定的年份中,出现了多少次既是13号又是星期五的情形,以帮助你的迷信朋友解决难题。说明:(1)一年有365天,闰年有366天,所谓闰年,即能被4整除且不能被100整除的年份,或是既能被100整除也能被400整除的...

2019-11-26 21:21:42 4908

原创 斐波那契数列的三种写法(递归,循环,改进后的递归)

斐波那契数列的三种写法(递归,循环,改进后的递归)斐波那契数列实现1. 普通递归2.循环3.改进后的递归总结斐波那契数列我们将F(n) = 1,1,2,3,5,8,13…(F(n-1)+F(n-2))这样的数列称为斐波那契数列实现1. 普通递归int f1(int n){ if(n <= 2) return 1; else return f1(n-1) + f1(n-...

2019-11-13 18:39:12 4657

原创 数据结构(一)不定长顺序表——C语言实现

  顺序表是线性表的一种,其定义为:线性表中所有数据元素根据顺序存储结构,按其逻辑顺序依此存储在一组连续的内存单元中,用这种存储形式存储的线性表成为顺序表。其特点是: 1. 逻辑关系相邻的两个数据元素在物理位置上页相邻。2.结构简单,便于理解。  在课堂上老师一般都只交授定长顺序表,但是在我们私下练习时会发现定长顺序表某种程度上来说和数组没有什么太大的区别,而且设置的长度也很容易浪费,这种资源的...

2019-10-16 20:33:24 522

原创 Linux下git常用命令

git init 初始化git add main.c 将main.c添加到暂存区git commit -m ‘版本信息说明’ 将暂存区的文件提交到版本库里面git log 查看日志信息git config --global user.name “你的名字”git config --global user.email “你的邮箱”git reset --ha...

2019-09-11 14:49:07 1025

原创 Tcp三次握手和四次挥手理解

2.TCP协议与UDP协议的区别!TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资源。TCP的缺点: 慢,效率低,占用系统资源高,易被攻击 TCP在传递数据之前,要先建连接,这会消耗时间,而且在数据传递时,确认机制、重传机制、拥塞控制机制等都会消耗大量的时间...

2019-09-10 19:21:40 195

原创 面向对象编程之继承知识点总结

1.概念引入  继承是软件复用的一种方式,通过继承,可以在吸收现各类的各种性能(即数据)的基础上,再加以定制或增强来创建新类。软件复用能够节省软件开发时间,鼓励人们复用经过验证、调用的高质量软件,使用系统开发更有效。今天我将带来这几天对于面向对象编程中继承的理解。首先要告诉大家的是:基类是被继承的类,派生类是继承基类的类。接下来区分一下“是一个”(is a)关系和“有一个”(has a)关系...

2019-07-11 21:59:29 335

原创 2048小游戏的C语言实现方式

项目介绍:每次可以选择上下左右其中一个方向去滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢外,系统也会在空白的地方随机出现一个数字方块2或4,相同数字的方块在靠拢、相撞时会相加。不断的叠加最终拼凑出2048这个数字就算成功。...

2019-06-22 23:14:36 4556 3

原创 对i++和++i的深刻理解

前言:初学C语言的朋友一定对i++和++i傻傻分不清楚,本文将清楚的阐述两者的区别与联系。话不多说我们先来看一下例子:#include <stdio.h>int main(){ int i = 0,j; i++; printf("单独存在的i++ i=%d\n",i); j = i++; printf("在多个变量运算中的i++赋值给j j=%d\n",j); ++...

2019-05-17 22:44:51 18900 7

原创 C++拷贝构造函数的理解

#include<iostream>using namespace std;class A{public: A() //默认构造函数 { cout<<"A()"<<endl; } A(int a):ma(a) //带一个参数的构造函数 { cout&l...

2019-05-14 00:38:32 1031

转载 const

const的用法,特别是用在函数前面与后面的区别!const的用法,特别是用在函数后面在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针。可以改变this所指向的值,但不能改变 this所保存的地址。在 const成员函数中,this的类型是一个指向 const类类型对象的 const指针。既不能改变 this所指向的对象,也不能改变 this所保存的地址。...

2019-03-09 23:36:15 62

空空如也

空空如也

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

TA关注的人

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