自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C---内存管理

一、内存分配情况 数据区(静态区):保存自动全局变量和 static 变量(包括 static 全局和局部变量)。静态区的内容,在整个程序的生命周期内都存在,由编译器在编译的时候分配栈:保存局部变量。栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁。其特点是效率高,但空间大小有限。堆:由 malloc 系列函数或 new 操作符分配的内存。其生命周期由 free...

2018-08-16 14:07:40 192

原创 (C)指针与数组 的那些事

要清楚指针和数组,必须清楚三个问题:什么是指针?什么是数组?指针和数组之间的联系?数组:根据元素个数和元素类型,开辟一段连续的空间,以一个标识符来标识这段空间指针:用来存储地址的数据类型。32位下为4字节,64位下为8字节 一、指针与数组的区别: 1、把数组作为参数传递的时候,会退化成指针 2、数组名可作为指针常量 ,例如 : 会编译出错,数组名可...

2018-08-16 11:43:07 213

原创 c++ ----继承

C++为什么要有继承 我们都知道很多类都有自己的数据成员以及函数,在编写程序时,会有很多类的拥有相同的数据成员和函数,为了节省时间以及代码量,我们把这些公共的数据和函数封装成一个类,后面的类只要继承这个类即可。什么是继承 继承是面向对象复用的重要手段。继承是类型之间的关系建模,共享公有的东西,实现各自本质不同的东西。当创建一个类时,您不需要重新编写新的数据成员和...

2018-05-31 21:14:52 186

原创 c++中的动态内存管理(new/delete)

C++动态内存管理通过new/delete动态管理对象通过new[]/delete[]动态管理对象数组int *p1 = new int; //动态分配4个字节int *p2 = new int(1); //动态分配4个字节,初始化为1char *p3 = new char[3]; //动态分配3个字节(3个char类型) delete p1; ...

2018-05-25 17:25:57 762

原创 C动态内存开辟函数总结

malloc和freevoid* malloc (size_t size);malloc 函数向内存申请一块连续的空间,并且返回指向这块空间的地址。注意,malloc只负责动态开辟一段连续空间,并不负责这块空间的初始化。如果开辟成功,返回一个指向开辟好空间的地址。如果开辟失败,返回一个NULL指针,注意:malloc的返回值一定要走检查。malloc函数并不知道要开辟多大的空...

2018-05-25 15:27:03 1971 2

原创 c++中内联函数&友元&static成员

1、内联函数(inline): 如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方。inline是一种以空间换时间的做法,省去调用函数额开销。所以代码很长或者有循环/递归的的函数不适宜使用内联。inline对于编译器而言只是一个建议,编译器会自动优化,如果定义为inline的函数体内有循环/递归等等,编译器优化时会忽略掉 内联。inline必须函...

2018-04-19 18:01:21 380

转载 c++中的const 全面总结

C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用   如下表所示:No.作用...

2018-04-19 17:17:29 378

原创 面向对象、c++类的默认成员函数

面向对象是什么?面向对象:是一种程序设计范型,同时也是一种程序开发的方法。 对象指的是类的实例,将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。面向对象的三大特性: 通过一幅图来形象的了解一下面向对象 注:图来源于网络封装: 就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。...

2018-04-09 17:01:00 204

原创 linux基本命令(持续更新)

【命令】:ls可以显示当前目录包含的文件,除隐藏文件。ls 可以和很多参数组合,形成多种不同结果的命令。 【参数】: -a : 列出目录下的所有文件,包括以 . 开头的隐含文件; -l : 列出文件的详细信息。 -c 输出文件的 i 节点的修改时间,并以此排序。 -d 将目录象文件一样显示,而不是显示其下的文件。 -e 输出时间的全部信息,而不是输出简略信息。 -...

2018-03-26 17:29:00 146

原创 初识Linux

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux的启动过程详细介绍Linux的启动过程Linux的一些目录的解释:1、/bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令。2、/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接...

2018-03-26 11:29:08 270 1

原创 详谈c++的引用

引用引用不是定义一个新的变量,而是给已经定义了的变量起一个别名。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。定义的格式为: 类型&引用变量名=已定义过的变量名引用的特点 》 一个变量可取多个别名 》 引用必须初始化 》引用只能在初始化的时候引用一次,不能改变为再引用其他的变量 这里的a和b是同一块空间的名字。const引用 ...

2018-03-23 20:19:46 200

原创 为什么c++支持重载而c不支持?

c++C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。为什么C++支持重载?C语言不支持首先在了解这个问题之前,我们先要清楚什么是函数重载,以及编译器的翻译过程是怎样...

2018-03-19 19:26:02 917 3

原创 自定义类型

结构体类型结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的 变量结构体的声明struct tag(tag可以省略){ member-list; (结构的成员可以是标量、数组、指针,甚至是其他结构体。)}variable-list; 例如:struct{ int a;Char b;float c;}x;这个声明创建...

2018-02-22 20:00:46 519

原创 二分查找与斐波那契数递归与非递归的时间复杂度与空间复杂度

1、二分查找非递归 非递归二分查找: 时间复杂度为O(logn) 时间复杂度为O(1)递归实现 非递归二分查找: 时间复杂度为O(logn) 时间复杂度为O(1)2、斐波那契数列递归 时间复杂度为O(2^n) 时间复杂度为O(1)非递归 时间复杂度为O(n) 时间复杂度为O(1)总结1、时间复杂度就是一个计算执行基本操作的次数的函数 一般算法O

2017-12-08 17:26:49 2837 4

原创 c语言实现两数交换

借助第三变量来交换1、 int a = 10; int b = 20; int temp = a; a = b; b = temp;2、(指针实现)void swap(int*x, int*y){ int temp = *x; *x = *y; *y = temp;}在调用swap()时注意传参时传的是&a,和&bswap(&a

2017-11-18 23:14:35 1247

原创 用c语言简单实现三子棋游戏

用c语言简单实现三子棋游戏 (小白一枚,欢迎大佬指教)本次实现运用了二维数组,函数返回值等知识,废话不说了,开始正文一、头文件 game.h二、测试文件 test.c这个文件包含的函数有 (1)菜单 menu() (2)game() (3) main() 注意 :开头不要忘了引用头文件gane.h三、游戏的主体实现 game.c这个文件中包括 (1)打印棋盘 prin

2017-10-29 20:59:09 430

原创 我的第一篇blog

我的第一篇博客就以自我介绍开始:     我来自宁夏,现在就读与西安工程大学,说实话报考志愿的时候,我对这个专业没什么感觉,就感觉它是与世界前沿接轨的,而作为新时代的大好青年怎么能够不熟悉计算机呢。慢慢接触起来感觉真的很难,但也越来越激发起了我的兴趣。不要求自己像马云或者马化腾那么厉害,只希望自己不再是IT方面的菜鸟。在学习编程时,除了巩固自己的基础知识,我还要多多动手敲代码。在这一年的时

2017-09-26 18:12:34 186

空空如也

空空如也

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

TA关注的人

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