自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 线程

线程是什么在一个程序里的一个执行路线就叫做线程(thread)更准确的定义是:线程是“一个进程内部的控制序列”一切进程至少都有一个执行线程进程和线程    进程是资源竞争的基本单位    线程是程序执行的最小单位    线程共享进程数据,但也拥有自己的一部分数据:>线程ID>一组寄存器>栈>errno>信号屏蔽字>调度优先级线程与进程的关系一个进程可以包含多个线...

2018-06-22 11:10:40 246 1

原创 进程

(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进)进程是什么从用户角度看:进程就是程序的一次执行过程从操作系统的角度看:    1、进程是操作系统分配内存、CPU时间片等系统资源的基本单位    2、每个进程都有自己独立的地址空间和进程状态    3、进程是分配资源的最小单位PCB    进程是程序的一次执行过程,需要保存进程的现场信息,这些信息需要一个数据结构来...

2018-06-22 10:32:51 180

原创 C++异常

(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进)异常:异常就是指程序在运行时存在异常行为,这些异常的行为让函数不能正常执行。异常处理:    当一个函数发现自己无法处理的错误时抛出异常,让函数的调用者直接或间接的处理这个问题异常的抛出和捕获    1、异常时通过抛出对象而引发的,该对象的类型决定了应该激活哪个处理代码    2、被选中的除磷代码是调用链中与该对象...

2018-06-20 09:22:49 188

原创 C++智能指针

(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进)为什么会有只智能指针:    由于C++没有自动的内存回收机制,每次new出来的内存都要手动delete,而有时候很容易会遗忘掉delete这一过程,因此会造成严重的后果    智能指针其实就是定义一个类,指向一块内存空间,在被异常打断时,智能指针声明周期结束,然后自动调用析构函数释放该空间,以保证不会发生内存泄漏...

2018-06-13 16:15:24 182

原创 C++模板

模板是什么?模板是泛型编程的基础,而所谓的泛型编程就是编写与类型无关的逻辑代码,是一种复用的方式。模板可以分为模板函数和模板类。定义:    模板就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数,从而实现了真正的代码可重用性模板函数:   格式:    template<class 形参名1,class 形参名2,class 形参名n>         返回类型...

2018-06-13 15:08:52 188

原创 Linux——彩色进度条

(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进)打印彩色经度条就得知道颜色如何设置如何在Linux环境下输出颜色呢,格式如下int main(){ printf("\033[10;10H"); // 在 10 行 10 列 输出 printf("\033[33m\033[46m[]"); // 3n字符的前景色 4n字符的背景色 printf("\0...

2018-05-23 13:42:06 143

原创 C++——重载 缺省 命名空间

刚学习C++,入门阶段对重载  缺省  命名空间的理解(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进)C几乎是C++的一个子集,所以C语言支持的语法在C++基本都支持并需要使 用。C plus plus(C++),所以在C的基础上又有了很多新的特性重载:重载是C++

2018-05-23 13:13:53 190

原创 new/delete和malloc/free的关系

(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进)C语言使用malloc/calloc/realloc/free进行动态内存管理。 void* malloc(sizeof(1.new/delete 和operator new/operator delete和malloc/free的关系 2.new[]时底层处理的机制 3.new/delete和malloc/fre...

2018-05-15 11:06:22 522

原创 多态 继承

(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进)多态同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,在运行时,可以通过指向基类的指针,来调用实现派生类中的方法,在C++中多态主要体现在运行和编译两个方面C++中实现多态的方法有:虚函数、抽象类、重载、覆盖、模板继承    继承是面向对象复用的重要手段。通过继承定义一个类,继承是类型之间的关系建模,...

2018-05-14 22:45:21 178

原创 const成员函数 内联函数 友元 static成员

(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进)const成员函数在成员函数后面加const, const修饰this指针所指向的对象,也就是保证调用这个const成员函数的对象在函数中不会被改变如果在编写const成员函数时,不慎修改了数据成员,或者调用了其它非const成员函数,编译器将指出错误,这无疑会提高程序的健壮性。

2018-05-09 17:54:40 266

原创 C/C++——内存对齐

什么是内存对齐

2018-04-01 18:19:49 206

原创 C++——面向对象 类

面向对象程序设计 :概念:(Object Oriented Programming,缩写:OOP)是一种程序设计范型,同时也是一种程序开发的方法。 对象指的是类的实例,将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。C++不是纯面向对象语言,而是基于面向对象的语言 (ps:因为它包含C的部分,C是面向过程)

2018-04-01 14:15:04 246

原创 C++ ——> 引用

本文是对引用的理解(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进)引用:引用不是定义一个新的变量,而是给一个已经定义的变量重新起一个别名。定义的格式为: 类型&引用变量名 = 已定义过的变量名从上图就可以很清楚的看出来,引用所建立的这个别名,没有开辟新的内存空间,它的原变量是同一个地址,也就是说,改变引用是可以改变原变量的值,这和指针

2018-03-30 16:47:05 175

原创 数据结构——单链表

本文是对单链表的理解(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进)单链表

2018-03-14 22:24:02 189

原创 数据结构——顺序表(动态)

本文是对静态顺序表的理解(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进)上一篇对静态顺序表的理解,这一篇是对动态顺序表的理解,相对于静态属性表,动态的顺序表就是能够开辟内存,静态的是一开始就开辟一个固定容量的数组,满了就不能在装了,而动态的在满了之后还可以进行扩容。静态顺序表链接:http://blog.csdn.net/

2018-03-14 15:56:09 1045

原创 数据结构——顺序表(静态)

本文是对顺序表的理解(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进)首先了解一下什么是顺序表:顺序表:用一段地址连续的存储单元依次存储数据元素的线性结构  而地址连续的空间,一般情况下采用数组,但数组有静态数组和动态数组, 所以顺序表分为:静态顺序表和动态顺序表静态顺序表:定义一个结构体,里面包括该静态顺序表的大小,也就是容量,以

2018-03-13 16:33:57 1452 1

原创 C语言实现扫雷

本文是编写的一个小项目:扫雷创建两个二维数组,一个数组arr2进行雷的布置,另一个数组arr1则是实现显示的功能,都初始化为字符‘0’然后对数组arr2进行雷的设置,随机10个在数组中,并且用字符‘#表示’数组arr1是显示给用户的,用户输入的坐标再与arr2数组中的相应位置用上面的方式进行雷的处理,并且在数组arr1 上显示

2018-01-20 14:09:31 538

原创 C语言实现三子棋

本文是编写一个小项目:三子棋有单人模式(人机)和双人模式(人人)两种(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进)

2018-01-20 10:53:33 356

原创 时间复杂度与空间复杂度

本文是对时间复杂度以及空间复杂度的一个理解(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进)时间复杂度  由于环境的不同,同样的代码执行所需要的时间是不同的,所以是不能拿来比较的而函数中执行的次数确实一样的所以时间复杂度就是程序每个循环中的语句总共会执行的次数 时间复杂度的表示方法——大O渐进表示法O(f(n))这里的f(n)是

2017-12-08 16:29:06 219

原创 注释转换

本函数就是见得实现一下C注释、CPP注释和普通模式之间的转换(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进)1、先来了解一下这四种模式之间转换的条件2、接下来就是完成的主要步骤了我是将主函数与实现函数分不同的文件建立的(1)、分别建立 mian.c   convert_comment.c  convert_comment.h三

2017-12-08 13:37:24 316

原创 指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针

指针数组 首先从名字就可以知道这是一个数组,是存放指针的数组。先看几种指针数组:int *数组指针 函数指针 函数指针数组 指向函数指针数组的指针

2017-11-29 17:24:50 4260 10

原创 C语言:编写一个函数实现一串字符串的左旋或者右旋

ABCDCE左旋一个字符得到BCDEAABCDCE左旋两个字符得到CDEABvoid left(char arr[],int n,int s){ int i = 0; int j = 0; char arr1[10] = { 0 }; for (i = 0; i < s; i++) { if (i < s-n) { arr1[i] = arr[i + n];

2017-11-06 18:46:30 337

原创 枚举常量

枚举常量    enum枚举常量是需要占用内存的,需要在内存中开辟一个空间进行存储。#include  enum Sex{MALE,FEMALE,SECRET};int main() {printf("%d\n", MALE); printf("%d\n", FEMALE);  printf("%d\n", SECRET);  return

2017-10-19 19:48:01 635

原创 求出0~999之间的所有“水仙花数”并输出。“水仙花数”是指一个三位数,其各位数字的立方和确好等于该数本身,如;153=1+5+3 ? ,则153是一个“水仙花数”。

int main(){int i = 0;int g, s, b;for (i = 100; i {g = i % 10;s = (i / 10 )% 10;b = i / 100;if (i == (int)pow(g, 3) + (int)pow(s, 3) + (int)pow(b, 3)){printf("%d   ", i);}}r

2017-10-19 16:55:06 1987

空空如也

空空如也

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

TA关注的人

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