自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++类和对象(中篇)

默认的拷贝构造函数对象按内存存储按字节序完成拷贝。

2024-03-10 22:08:21 695 14

原创 C++类和对象(下篇)

一定会先使用初始化列表初始化。

2024-03-10 21:59:53 1604 2

原创 C++类和对象(上篇)

/类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。1.声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。一般情况下,更期望采用第二种方式。// 我们看看这个函数,是不是很僵硬?

2024-03-06 22:40:10 1796 13

原创 数据结构与算法-顺序表

静态顺序表的定长数组导致N定大了,空间开多了浪费,开少了不够用。所以现实中基本都是使用动态顺序表,根据需要动态的分配空间大小,所以下面我们实现动态顺序表。3. 增容一般是呈2倍的增长,势必会有一定的空间浪费。例如当前容量为100,满了以后增容到 200,我们再继续插入了5个数据,后面没有数据插入了,那么就浪费了95个数据空间。但是在物理结构上并不一定是连续的, 线性表在物理上存储时,通常以数组和链式结构的形式存储。顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存 储。

2024-01-01 17:14:04 415 11

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

斐波那契数列的递归实现方式非常简洁,但简洁一定好吗?那该如何衡量其好与坏呢?算法在编写成可执行程序后,运行时需要耗费时间资源和空间(内存)资源。因此衡量一个算法的好坏,一般 是从时间和空间两个维度来衡量的,即时间复杂度和空间复杂度。时间复杂度主要衡量一个算法的运行快慢,而空间复杂度主要衡量一个算法运行所需要的额外空间。在计算 机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是经过计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。

2024-01-01 14:32:23 1600 5

原创 指针进阶练习题

a[0]表示首元素的地址,即a[0][0]的地址,&a[0][0]赋值给了p,p[0]其实就相当于*(p+0)也就是第一个元素,也就是1。p[4][2]和a[4][2]相差了4个元素,相减也就是-4, -4要%p也就是16进制打印。每道题都可以先忽视旁边注释,自行做题后再对照答案。最终也就是FF FF FF FC。解引用后答案为10和5。

2023-12-21 10:49:14 222 3

原创 数组及指针进阶篇

指向一个函数的指针函数也有地址吗??

2023-12-19 22:17:21 149 4

原创 指针初级篇

Swap1函数在使⽤的时候,是把变量本⾝直接传递给了函数,这种调⽤函数的⽅式我们之前在函数的时候就知道了,这 种叫传值调⽤。我们知道计算上CPU(中央处理器)在处理数据的时候,需要的数据是在内存中读取的,处理后的数 据也会放回内存中,那我们买电脑的时候,电脑上内存是8GB/16GB/32GB等,那这些内存空间如何⾼ 效的管理呢?问题1.首先,这里定义了两个变量,一个a变量,一个p变量,既然是变量就要向内存申请空间,向这样的局部变量都是在栈上开辟的,后面我会专门讲在堆上开辟的空间,也就是所谓的动态内存分配,

2023-12-19 17:16:18 489 3

原创 你真的懂C语言中的取余和取模吗

1.浮点数(或者整数相除),是有很多的取整方式的。2.如果a和d是两个自然数,d非零,可以证明存在两个唯一的整数 q 和 r,满足 a = q*d + r , q 为整数,且0 ≤ |r| < |d|。其中,q 被称为商,r 被称为余数。3.在不同语言,同一个计算表达式,“取模”结果是不同的。我们可以称之为分别叫做正余数 和 负余数。4.具体余数r的大小,本质是取决于商q的。而商,又取决于除法计算的时候,取整规则。5.取余vs取模: 取余尽可能让商,进行向0取整。取模尽可能让商,向-∞方向取整。

2023-12-16 18:17:56 947 2

原创 C语言32个关键字细节

定义变量的本质:开辟空间而void作为空类型,理论上是不应该开辟空间的,即使开了空间,也仅仅作为一个占位符看待 所以,既然无法开辟空间,那么也就无法作为正常变量使用,既然无法使用,编译器干脆不让他定义变量。在vs2013中,sizeof(void)=0在Linux中,sizeof(void)=1(但编译器依旧理解成,无法定义变量)//在vs2013中int main()p++;//报错p += 1;//报错return 0;//在gcc4.8.5中int main()

2023-12-15 22:19:11 456 2

原创 与0的爱恨纠缠

/两个精度定义=1.0 */=1.0 */XXX_ EPSILON是最小误差,是: XXX_ EPSILON+n不等于n的最小的正数。EPSILON这个单词翻译过来是'∈'的意思,数学上,就是极小的正数。

2023-12-14 13:44:15 135 4

原创 浮点数的存储

常见的浮点数: 3.14159、1E10等,浮点数家族包括: float、 double、 long double类型。浮点数表示的范围: float.h 中定义上面的代码中,num 和*pFloat在内存中明明是同一个数,为什么浮点数和整数的解读结果会差别这么大?要理解这个结果,一定要搞懂浮点数在计算机内部的表示方法。根据国际标准IEEE (电气和电子工程协会) 754, 任意一个二进制浮点数V可以表示成下面的形式:● (- 1)S表示符号位,当S=0, V为正数;

2023-12-13 20:28:34 72

原创 数据的存储

我们之前讲过一个变量的创建是要在内存中开辟空间的,空间的大小是根据不同的类型而决定的。那么,数据在所开辟内存中到底是如何存储的呢?我们知道,编译器为a分配四个字节的空间。那如何存储呢?首先,对于有符号数,一定要能表示该数据是 正数还是负数。所以我们一般用最高比特位来进行充当符号位。原码、反码、补码计算机中的有符号数有三种表示方法,即原码、反码和补码。

2023-12-13 13:43:30 88 2

原创 变量的定义与声明

int x = 10;类型 变量名 = 默认值//理解链计算机是为了解决人计算能力不足的问题而诞生的。即,计算机是为了进行计算的。而计算,就需要数据。而要计算,任何一个时刻,不是所有的数据都要立马被计算。如同:要吃饭,不是所有的饭菜都要立马被你吃掉。饭要一口一口吃,那么你还没有吃到的饭菜就需要暂时放在盘子里。这里的盘子,就如同变量,饭菜如同变量里面的数据。换句话说,为何需要变量?因为有数据需要暂时被保存起来,等待后续处理。那么,为什么吃饭要盘子?

2023-12-13 10:10:05 118 1

原创 简述C语言

这就是转义字符的问题, \n 是⼀个转义字符表⽰换⾏的意思,我们可以简单的理解为 \ 让 n 的意思 发⽣了转变, n 本来是⼀个普通的字符,被 \ 转义为换⾏的意思。我们可以看到, arr1 字符数组在打印的时候,打印了 a 、 b 、 c 后还打印了⼀些随机值,这就是 因为 arr1 在末尾的地⽅没有 \0 字符作为结束标志,在打印的时候没有停⽌。在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语⾔中字符是⽤单引号 括起来的,如:'a','b','@'。

2023-12-11 15:25:32 74 4

原创 看我如何拿捏小C

大家好 我是李二俊和李小俊的大哥 我是李大俊。高考发挥超常,比平时高了约100来分,来到了一个民办二本,带着只要想学无论在哪都能成功的想法,充满斗志的我来到了大学,当然,想法是美好的,现实却没那么如意。

2023-11-25 21:36:18 146 1

空空如也

空空如也

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

TA关注的人

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