自定义博客皮肤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)
  • 收藏
  • 关注

原创 类和对象(下)

3. malloc申请空间时,需要手动计算空间大小并传递,new只需在其后跟上空间的类型即可, 如果是多个 对象,[]6. 申请自定义类型对象时,malloc/free只会开辟空间,不会调用构造函数与析构函数,而new在申请空间。5. malloc申请空间失败时,返回的是NULL,因此使用时必须判空,new不需要,但是new。不同的地方是:new/delete申请和 释放的是单个元素的空间,new[]和。申请的是内置类型的空间,new和malloc。1.在空间上执行析构函数,完成对象资源的清理。

2024-06-09 19:49:23 1011

原创 类和对象(下)

友元函数可以直接访问类的私有成员,它是定义在类外部的普通函数,不属于任何类,但是需要在类内部声明,声明需要加。尽量使用初始化列表,因为不管你是否使用初始化列表,对于自定义类型成员变量,一定会先使用初始化列表。内部类是一个独立的类,它不属于外 部类,更不能通过外部类的对象去访问内部类的成员。,参见友元类的定义,内部类可以通过外部类的对象参数来访问外部类中 的所有成员。友元函数可以在类的任何地方声明,不受类访问限定符限制。Time 类的私有成员变量,但想在Time。静态成员也是类成员,受访问限定符的限定。

2024-06-08 18:02:46 681

原创 类与对象(中)

5.如果类中没有定义构造函数,则c++编译器会自动生成一个无参数的默认构造函数,一旦用户定义编译器将不在生成。6.无参数和全缺省的构造函数都成为构造函数,并且默认构造函数只有一个。只是单个形参,该形参是对类类的对象的引用(一般用const修饰),已存在的类类型对象创建新对象时由编译器自动调用。运算符重载是具有特殊函数名的函数,也是具有参数,返回值,参数列表,其返回值与其普通函数相似。,需要注意的是,构造函数·名称虽然是叫构造,但是构造函数的。,当const修饰成员函数,实际修饰成员函数。

2024-06-06 22:31:51 844

原创 类与对象(上)

C语言是面对过程,关注的是过程,分析出求解问题的步骤,通过函数的屌用来逐步的解决问题。c++基于面向于对象的,关注的是对象,讲义几件事情拆分成不同的对象,靠对象之间相互完成。class为类的关键字,classname为类的名字。{}为类的主体,后面的分号不能省略。C语言的结构体中只能定义变量,在C++中,结构体中不只能定义变量还能定义函数。用类将对象属性与方法结合在一块,让对象更加完善,根据访问权限选择性将其接口提供个外部用户使用。2,protect和private修饰的成员不可以在类外直接的使用。

2024-06-02 16:32:08 386 1

原创 C++入门

(1)在这些变量,函数和类的名称将都存在全局作用域中,可能会导致许多的冲突。✿auto与指针和引用结合起来使用(用auto声明指针类型时,用auto和auto* 没任何区别,但用auto声明引用时类型时必须加&)(2)auto不再是一个储存类型的的指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而出的。在调用该函数时,如果没有指定实参则采用该形参的缺省值,否则指定实参。一个名门空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。

2024-05-31 20:46:31 751

原创 顺序表专题

数据结构是计算机储存,组织数据的方式。(数据结构是指相互之间存在一种或多种特定关系的数据元素集合)(2)需要数据结构的原因:最基础的数据结构能够提供的操作不能完全满足复杂的算法实现。静态顺序表和动态顺序表差不多,我展示复杂的动态顺序表(它只是没有动态内存申请)(2)储存数据能够方便查找。(1)能过储存数据(如:顺序表,链表)n个具有相同特性的数据元素的有限序列。空间少不够用,空间多了造成浪费。静态顺序表 和 动态顺序表。

2024-04-04 16:32:59 163 2

原创 预处理详解

当宏的参数在宏的定义中出现过一次的时候,如果参数带有副作用,那你在使用宏尚未时候就可能出现危险,导致不可测的危险。注意:参数列表的左括号必须与name紧邻,如果两者之间有任何的空白存在,参数的列表就会被解释为stuff的一部分。(1)宏参数和#define定义中可以出现其他#difine定义的符号,但是,对于宏来说,不能出现递归。(1)每次使用宏的时候,一份宏的定义代码插入到程序中,除非宏比较短,不然会大幅度增加程序。(2)当处理器搜索#define定义的符号的时候,字符串的常量并不会被搜索。

2024-03-27 16:07:53 297

原创 动态内存管理

(3)包含柔性数组成员的结构用malloc()函数进行内存的动态分配,并且分配的内存应该大于结构的大小,以适应柔性数组的预期大小。(3)返回值的类型是void* ,所以malloc函数并不知道开辟空间的类型,具体使用的时候使用者自己来决定。(1)函数的功能:num个大小为size的元素开辟一块空间,并且把空间的每一个字节初始化为0。在队空间是另找一个合适的大小的连续空间来使用,这样函数返回的是一个新的内存地址。(2)如果参数prt指向的空间不是动态开辟的,那free函数的行为是未定义的。

2024-03-21 21:46:01 295 1

原创 联合体和枚举

其中这些可能的取值都是有值的,从零开始依次加一,在声明枚举类形式时可以赋值。(3)因此联合体变量大小,至少是最大成员的大小(因为联合体至少得有能力保存最大的那个成员)。(2)但最大成员的大小不是对齐数的整数倍的时候,就要对齐到最大对齐数的整数倍。(1)像结构体一样,联合体由一个或者多个成员构成,这些成员可以是不同类型。(4)枚举类型常量是遵循作用域规则的,枚举生命在函数内,只能在函数内使用。(2)编译器只为最大成分分配空间,联合体的特点是所有成员共用一块空间。(1)联合体至少是最大成员的大小。

2024-03-21 13:59:50 112 1

原创 自定义类型:结构体

所以不能对位段的成员使⽤&操作符,这样就不能使⽤scanf直接给位段的成员输⼊值,只能是先输⼊放在⼀个变量中,然后赋值给位段的成员。(4)如果嵌套了结构体的情况,嵌套的结构体成员对齐到自己的成员中的最大对齐数的整数倍,结构体的大小就是对齐数的最大整数倍(含有嵌套结构体的最大对齐数的整数倍)。(4)一个结构包含两个位段,第二个位段成员比较大,无法容纳在第一个位段剩余的位时,是舍弃还是利用,这是不确定的。(3)结构体总大小为最大的对齐数(结构体成员变量都有一个对齐数,所以对齐数的最大值)的整数值。

2024-03-19 19:52:14 323

原创 数据在内存中的储存

三种表示方法都有符号位和数值位,‘0’表示正,‘1’表示负。而数值为最高位为符号位,后面为数值位。是指数据的低位字节内容保存在内存的高地址处,而数据的高位字节内容,保存在内存的低地址处。是指数据的低位字节内容保存在内存的低地址处,而数据的高位字节内容,保存在内存的高地址处。整数的2进制表示方法有三种,原码,反码,补码。浮点数的表示范围:float.h中定义。原码:按照正常的方法翻译成二进制数字。反码:除了符号位其他位按位取反。1.整数存储存的四二进制的补码。正数的原,返,补都相同。储蓄的顺序是倒过来的。

2024-03-16 19:46:44 323 1

原创 C语言内存函数

1.函数memcpy从sourec的位置开始向后复制num个字节的数据到destination指向的呢存位置。3.如果destination和source有任何重叠,复制的结果都是未定义。1.memcpy禹memmove的差别就是处理的源内存块和目标内存块重叠。1.用来设置内存的,将内存中的值以字节为单位设置成你想要的内容。2.如果源空间与目标空间出现重叠,就得使用memmove。2.相比于strcmp这个函数可以选择比较几个字节的元素。1.返回值大于0,等于0,小于0;一,函数memcpy。

2024-03-15 15:55:48 336 1

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

3.strtok函数找到str中的下一个标记,并将其用\0结尾,返回一个指向这个标记的指针。(注:strtok函数会改变被操作的字符串,所以在使用strtok函数切分的字符串一般都是临时拷贝的内容并且可修改。4.strtok函数的第一个参数不为NULL,函数将找到str中第一个标记,strtok函数将保存它在字符串中的位置。5.strtok函数的第一个参数为NULL,函数将在同一个字符串中被保存的位置开始,查找下一个标记。C语言中专门有一系列的函数做字符分类,也即是一个字符属于什么类型的字符。

2024-03-13 15:44:41 343

原创 指针(5)

(1)sizeof:不是函数为操作符,计算变量占内存空间的大小,单位是字节。如果操作数是类型的话,计算的是使用类型创建的变量所占内存空间的大小。(只在乎占用内存空间的大小,不在乎内存中存放什么数据)sizeof(数组名)(计算的是整个数组,单位是字节)。(2)strlen:是C语言库函数,功能求字符串长度。<string.h>(2)有两例外:&加数组名(取出的是整个数组);(1)数组名是首元素地址。

2024-03-08 21:36:11 310 1

原创 深入了解指针(4)

如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,被调用的函数就是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。回调函数就是一个通过函数指钻调用的函数。qsort用冒泡来实现。1.回调函数是什么?

2024-03-05 12:45:11 330

原创 指针(3)

二维数组的概念:如果把一维数组作为数组的元素,这时候就是二维数组,二维数组作为数组元素被称为三维数组,二位以上被称为三维数组。二维数组的首元素地址是第一行的地址,第一行的地址是一维数组的地址,类型是数组指针类型。(将void (*)(int)简化为 void (*pf_t)(int))(将int (*) [5]简化为int(*ptr_t)[5])浮点型指针: float * 指向浮点型的指针。字符指针:char * 指向字符的指针。整形指针:int * 指向整型的指针。数组指针: 指向数组的指针。

2024-02-07 12:30:01 347 1

原创 详细指针(2)

注:(1)数组传参的本质是传递了数组首元素的地址,所以形参访问的数组和实参访问的数组是同一个数组。这里的数组名表示整个数组,取出的是整个数组的地址。(整个数组的地址与首元素的地址是有区别的)是数组名是首元素的地址并且数组在传参时候,形参可以写成数组的形式,但是本质还是指针,因此在。(1)数组就是数组,是一块连续的空间。(2)形参的数组时不会单独再创造数组空间,所以形参的数组是可以忽略数组的大小。这里表示整个数组,计算的是整个数组的大小,单位是字节。数组的数组名,是首元素的地址。(4)可用指针来访问数组。

2024-02-02 23:57:53 307

原创 指针(1)

如果明确知道指针指向哪里直接赋值地址,如果不知道指向那,就可以给指针赋值NULL(它是C语言中定义的一个标识符常量,值是0,0也是一个地址,这地址无法使用,读取时会报错)限制的是指针变量本身,指针变量不能再指向其他变量,但是可以通过指针变量,修改指针变量的内容(不能改变地址,可以改变地址上的内容)类型,可以理解为一种无具体类型的指针(泛型指针),这种指针可以接受任意类型的指针,但是也有局限性,(本人总结,可忽略)3,注意指针的大小是与类型无关的,只要指针的类型变量在同一平台,大小都一样。

2024-02-01 23:46:04 1700 1

原创 详细操作符

如果两个运算符的优先级相同,优先级就没有办法先计算哪个了,这个时候就要看结合性。要看是左结合还是右结合,决定结合的顺序。其中,大部分是从左到右,少部分从右到左,比如赋值运算。因此为了获得这个精度,表达式中字符和短整型的数在使用之前被转换为普通整形,这样的转换被称为。如果某一个操作数属于不同类型,那么除非其中一个操作数转换为另一个操作数的类型,否则操作就无法进行,下面的层次体系称为。如果某个操作数的类型在上面这个表排名靠后,那么首先要转换为另外一个操作类型后执行运算。三,位操作符:&,|,^,~

2024-01-29 19:29:29 765

原创 C语言(函数递归与迭代)

(1) 递归其实是一种解决问题的方法,在C语言中,递归就是自己调用自己。

2024-01-25 19:45:23 363

原创 C语言的分支和循环

for循环的规则为,先执行表达式1,如何执行表达式2判断真假,如果为真执行语句反之则跳出循环;如果为真以后执行完表达式就返回表达式3,再返回表达式2,判断真假(不再返回表达式1)重复上面步骤。printf("猜对了,数字为 %d\n",guess);printf("输入错误,请重新输入\n");printf("输入你要猜的数字\n");printf("开始游戏\n");printf("结束游戏\n");printf("猜大了\n");printf("猜小了\n");printf("请选择>:\n");

2023-12-09 16:03:34 308

原创 C语言分支和循环

其中顺序没有过多的强调;值得注意的是语句如果没有break会一直运行下去;其中如果没对应的数字,它会运行deault。printf("我是大聪明\n");printf("我是小呆瓜\n");比如:任意输入一个数除3求余数。首先我们来看选择中的 if。结果:分别输入1,0,-1。语法形式:if(表达式)

2023-12-08 15:46:13 310

原创 初始C语言

1,为了不再重复实现常见的代码,让程序员提升开发效率,C语言标准规定了一组函数,这些函数再由不同的编译器厂商根据标准进行实现,提供给程序员使用。这些函数组成了一个函数库,被称为标准库,这些函数也被称为库函数。1,C语言是一门编译型计算机语言,C语言代码都是文本文件,文本文件本身是无法执行的,必须通过编译器翻译和链接器的链接,生成二进制文件可执行文件才能执行。2,一个系列的库函数一般会声明在同一个头文件中,所以库函数的使用,要包含对应的头文件。·对应的大小写字符(a和A)的ASCII码值的差值是32。

2023-12-02 21:37:52 532

原创 初识c语言

1,它的组成:printf(打印)和format(格式)。1,一个程序有且只有一个main函数,又称为主函数。2,它的功能:把需要的字或者字符串打印在屏幕上。2,每次函数都从main函数的第一行开始执行。3,main函数可以有参数。5,使用时需要引用库函数。四,c语言常用转义字符。三,c语言常用关键字。

2023-11-29 19:57:24 351 2

空空如也

空空如也

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

TA关注的人

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