自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++内存管理和模板

通过上述两个全局函数的实现知道,operator new 实际也是通过malloc来申请空间,如果malloc申请空间成功就直接返回,否则执行用户提供的空间不足应对措施,如果用户提供该措施就继续申请,否则就抛异常。如果申请的是内置类型的空间,new和malloc,delete和free基本类似,不同的地方是:new/delete申请和释放的是单个元素的空间,new[]和delete[]申请的是连续空间,而且new在申请空间失败时会抛异常,malloc会返回NULL。11. 在申请的空间上执行N次构造函数。

2024-03-13 00:18:02 1840

原创 再谈类和对象

友元类的所有成员函数都可以是另一个类的友元函数,都可以访问另一个类中的非公有成员。虽然上述构造函数调用之后,对象中已经有了一个初始值,但是不能将其称为对对象中成员变量的初始化,构造函数体中的语句只能将其称为赋初值,而不能称作初始化。内部类是一个独立的类,它不属于外部类,更不能通过外部类的对象去访问内部类的成员。访问Time类的私有成员变量,但想在Time类中访问Date类中私有的成员变量则不行。注意:内部类就是外部类的友元类,参见友元类的定义,内部类可以通过外部类的对象参数来访问外部类中的所有成员。

2024-03-11 10:57:20 1312

原创 C++类和对象

关于编译器生成的默认成员函数,很多童鞋会有疑惑:不实现构造函数的情况下,编译器会生成默认的构造函数。,自定义类型就是我们使用class/struct/union等自己定义的类型,看看下面的程序,就会发现编译器生成默认的构造函数会对自定类型成员_t调用的它的默认成员函数。拷贝构造函数:只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对象创建新对象时由编译器自动调用。构造函数是特殊的成员函数,需要注意的是,构造函数虽然名称叫构造,但是构造函数的主要任。

2024-03-03 12:16:14 1456

原创 C++入门

2024-02-22 23:59:20 303 1

原创 C语言⽂件操作

在编写程序的时候,在打开⽂件的同时,都会返回⼀个FILE*的指针变量指向该⽂件,也相当于建⽴了。ANSIC 标准采⽤“缓冲⽂件系统”处理的数据⽂件的,所谓缓冲⽂件系统是指系统⾃动地在内存中为。⽂件的内容不⼀定是程序,⽽是程序运⾏时读写的数据,⽐如程序运⾏需要从中读取数据的⽂件,或。每个被使⽤的⽂件都在内存中开辟了⼀个相应的⽂件信息区,⽤来存放⽂件的相关信息(如⽂件的名。程序中每⼀个正在使⽤的⽂件开辟⼀块“⽂件缓冲区”。但是在程序设计中,我们⼀般谈的⽂件有两种:程序⽂件、数据⽂件(从⽂件功能的⻆度来分类。

2023-11-06 15:02:12 30

原创 编译和链接

我们在 test.c ⽂件中每⼀次使⽤ Add 函数和 g_val 的时候必须确切的知道 Add 和 g_val 的地。址,但是由于每个⽂件是单独编译的,在编译器编译 test.c 的时候并不知道 Add 函数和 g_val。Add 的指令重新修正,让他们的⽬标地址为真正的 Add 函数的地址,对于全局变量 g_val 也是类。变量的地址,所以暂时把调⽤ Add 的指令的⽬标地址和 g_val 的地址搁置。我们在 test.c 的⽂件中使⽤了 add.c ⽂件中的 Add 函数和 g_val 变量。

2023-11-06 14:49:44 122

原创 ⾃定义类型:结构体

如果我们能保证将所有的double类型的数据的地址都对⻬成8的倍数,那么就可以。原因在于,为了访问未对⻬的内存,处理器需要。不是所有的硬件平台都能访问任意地址上的任意数据的;结构是⼀些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。有了结构体类型,那如何定义变量,其实很简单,结构体变量的初始化使⽤{}.总体来说:结构体的内存对⻬是拿空间来换取时间的做法。在声明结构的时候,可以不完全的声明。

2023-10-28 15:54:36 24 1

原创 数据在内存中的存储

⽐如:0.5 的⼆进制形式为0.1,由于规定正数部分必须为1,即将⼩数点右移1位,则为1.0*2^(-1),其。前⾯说过, 1≤M<2 ,也就是说,M可以写成 1.xxxxxx 的形式,其中xxxxxx表⽰⼩数部分。IEEE 754规定,在计算机内部保存M时,默认这个数的第⼀位总是1,因此可以被舍去,只保存后⾯的。对于64位的浮点数,最⾼的1位存储符号位S,接着的11位存储指数E,剩下的52位存储有效数字M。对于32位的浮点数,最⾼的1位存储符号位S,接着的8位存储指数E,剩下的23位存储有效数字M。

2023-10-24 14:20:01 27

原创 字符函数和字符串函数

字符串以 ‘\0’ 作为结束标志,strlen函数返回的是在字符串中 ‘\0’ 前⾯出现的字符个数(不包。C语⾔中有⼀系列的函数是专⻔做字符分类的,也就是⼀个字符是属于什么类型的字符的。• ⽬标空间必须有⾜够的⼤,能容纳下源字符串的内容。• 第⼀个字符串⼤于第⼆个字符串,则返回⼤于0的数字。• 第⼀个字符串⼩于第⼆个字符串,则返回⼩于0的数字。• 会将源字符串中的 ‘\0’ 拷⻉到⽬标空间。• 第⼀个字符串等于第⼆个字符串,则返回0。• 源字符串必须以 ‘\0’ 结束。• 源字符串必须以 ‘\0’ 结束。

2023-10-20 11:04:08 22 1

原创 深⼊理解指针(1)

这⾥pa左边写的是 int* , * 是在说明pa是指针变量,⽽前⾯的 int 是在说明pa指向的是整型(int)是1或者0,那我们把32根地址线产⽣的2进制序列当做⼀个地址,那么⼀个地址就是32个bit位,需要4。上⾯代码中第7⾏就使⽤了解引⽤操作符, *pa 的意思就是通过pa中存放的地址,找到指向的空间,假设有⼀栋宿舍楼,把你放在楼⾥,楼上有100个房间,但是房间没有编号,你的⼀个朋友来找你玩,其实这⾥是把a的修改交给了pa来操作,这样对a的修改,就多了⼀种的途径,写代码就会更加灵活,

2023-08-25 11:59:15 35 1

原创 数组和函数实践:扫雷游戏

再继续分析,我们在棋盘上布置了雷,棋盘上雷的信息(1)和⾮雷的信息(0),假设我们排查了某。⼀个位置后,这个坐标处不是雷,这个坐标的周围有1个雷,那我们需要将排查出的雷的数量信息记录。扫雷的过程中,布置的雷和排查出的雷的信息都需要存储,所以我们需要⼀定的数据结构来存储这些。突了,但是这样做棋盘上有雷和⾮雷的信息,还有排查出的雷的个数信息,就⽐较混杂,不够⽅便。个坐标就会越界,为了防⽌越界,我们在设计的时候,给数组扩⼤⼀圈,雷还是布置在中间的9。9的棋盘上布置雷的信息和排查雷,我们⾸先想到的就是创建⼀个9。

2023-07-31 18:02:48 31 1

原创 C语言循环总节

1.while循环的实践输⼊⼀个正的整数,逆序打印这个整数的每⼀位例如:输⼊:1234,输出:4 3 2 1输⼊:521,输出:1 2 5题⽬解析1.要想得到n的最低位,可以使⽤n%10的运算,得到的余数就是最低位,如:1234%10得到42.要想去掉n的最低位,找出倒数第⼆位,则使⽤ n=n/10 操作就可以去掉最低位的,如:n=1234/10得到123,123相较于1234就去掉了最低位,123%10就得到倒数第⼆位3。3.循环1和2两个步骤,在n变成0之前,就能到所有的位。

2023-07-24 17:44:58 22

原创 【无标题】

C语言分支语句总结

2023-07-24 17:26:19 20

原创 自我介绍

大家好,本人来自湖北荆州,是一名准大一新生,目前每周花费十几个小时学习C语言,在学习过程中希望踏实走好每一小步,多阅读代码和敲代码,多参加编程实践,培养创新能力,争取能够熟练的掌握一门编程语言。希望有机会进入惠普公司。

2023-07-20 15:02:47 25

空空如也

空空如也

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

TA关注的人

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