C/C++入门篇
文章平均质量分 69
本专栏主要对C/C++的知识进行总结归纳,提供学习。
街 三 仔
一个热爱编程的小工科男·阿里云专家博主
展开
-
【C++入门篇 - 6】:静态成员、单例模式、友元、常量成员
修饰普通函数,C语言中普通函数默认全局使用,加static修饰之后,该函数只能在当前文件中使用。静态成员,指的是在C++类中声明成员时,可以加上static关键字,这样声明的成员叫静态成员。常量成员,指的是在C++类中声明对象成员时可以加上const关键字,这样声明的成员叫常量成员。修饰类中函数成员,函数也是被所有对象共享,且在该函数中只能操作静态数据成员。通过语法来限定在该函数成员内是无法修改类中的数据成员。修饰块作用域变量,内存在全局数据区,使用在块内。修饰类中成员数据,所有对象共享该数据成员。原创 2024-10-12 20:33:53 · 673 阅读 · 0 评论 -
【C++入门篇 - 5】:构造和析构
这时会看到有两个文件生成:class_one.h、class_one.cpp,class_one.h主要用来声明和定义函数,不写有内存的数据,class_one.cpp中写带内存的数据。主要的作用是在对象生命周期结束时,做一些清理工作,也可以将对象生命周期最后要做的事情写在析构函数中。没有写拷贝构造,系统会提供一个隐式的拷贝构造,该拷贝构造函数会把参数的数据全部拷贝一份到自己身上。构造函数,它是一种特殊的函数,主要用来在创建对象时初始化对象,即为对象的成员变量赋初始值。this指针指向调用者对象的首地址。原创 2024-10-12 20:32:02 · 506 阅读 · 0 评论 -
【C++入门篇 - 4】:面向对象
从关键字开始,到下一个关键字结束(或者花括号结束),都属于该关键字的控制范围。类是有数据加功能构成的,也就是变量和函数,把变量和函数绑定在一起。类是一种用户自定义数据类型,可以看作是c语言中结构体的升级版。:在类外不可以直接访问,继承的子类也不能调用,只能在类内访问。:在类外不能访问,只有继承的子类可以进行访问。在面向对象的类中,数据成员绝大部分情况是。分为三种:公有属性、保护属性、私有属性。,函数成员基本上是对数据的操作,一般是。:在类外或类内都可以直接访问。原创 2024-10-12 20:30:50 · 317 阅读 · 0 评论 -
【C++入门篇 - 3】:从C到C++第二篇
注意:在C语言中,如果内存不够时可以使用realloc进行内存的扩容(注意:少用,因为申请的内存可能是不连续的或者是共用了其他的内存),而在C++中,如果内存不够,则重新分配一个更大的连续内存,把原来内存的数据拷贝过来,然后原内存释放。2、delete可以释放两种内存,一种是单个内存,一种是连续内存。类似于c语言中的字符数组。2、new可以分配两种内存,一种是单个内存,一种是连续的内存。2、在编写代码时写的程序不可能所有的标识符都没有重名现象,3、delete释放内存时,指针的必须是指向内存首地址。原创 2024-10-11 07:18:31 · 702 阅读 · 0 评论 -
【C++入门篇 - 2】:从C到C++第一篇
内存膨胀:指的是代码区的代码变多,因为使用内联函数之后,那么这个函数的调用就不会在栈区申请内存来运行,也就是少了入栈出栈的时间,如果是一个普通函数在调用的时候会有入栈和出栈。顾名思义,在声明函数的某个参数的时候为之指定一个默认值,在调用该函数的时候如果采用默认值,就无须指定该参数。正常调用函数的时候是通过函数名,即函数地址进行调用,而内联函数是通过将函数体替换掉了函数名。在C++中允许函数名相同,参数列表不同,这叫函数重载。函数重载指的是在同一个项目中定义的函数名字可以重复。1、引用是外号,不占内存。原创 2024-10-11 07:17:56 · 520 阅读 · 0 评论 -
【C++入门篇 - 1】:C++编程等演示环境介绍
VS下载官网一般我们下载社区版,下载好后进行安装,安装时选择与C++有关的内容进行安装,然后设置语言环境。原创 2024-10-11 07:10:00 · 323 阅读 · 0 评论 -
【C语言零基础入门篇 - 17】:排序算法
插入排序的规则是:第一轮开始时默认序列中第一个数据是有序的,之后各个数据以此为基准,判断是插入在此数据的前面还是后面,之后的数据依次向后移动,腾出位置,让数据插入,以此类推,直到整个序列有序为止。如果在一组需要排序的数据序列中,数据ki和kj的值相同,即ki= =kj,且在排序前ki在序列中的位置领先于kj,那么当排序后,如果ki和kj的相对前后次序保持不变,即ki仍然领先于kj,则称此类排序算法。递增排序(升序)后 0、1、2、3、4、5、6、7、8、9。原始数据:8、6、5、4、9、7、1、2、3。原创 2024-09-23 06:27:41 · 625 阅读 · 0 评论 -
【C语言零基础入门篇 - 16】:栈和队列
队列有队首(front)和队尾(back),队首(front)指向队列的第一个数据,队尾(back)指向队列中的最后一个数据。栈只有一个开口,先进去的数据在栈底(bottom),后进来的元素在栈顶(top)。栈结构的数据操作只在栈顶。栈的特点:先进后出。例如:仓库进货、出货。什么是队列:功能受限的线性数据结构。什么是栈:功能受限的线性数据结构。队列的基本操作:增、删、改、查。栈的基本操作:增、删、改、查。原创 2024-09-23 06:27:09 · 427 阅读 · 0 评论 -
【C语言零基础入门篇 - 15】:单链表
链表是数据结构中线性表的一种,其中的每个元素实际上是一个单独的结构体对象,而所有对象都通过每个元素中的指针链接在一起。什么是结点:链表中每个结构体对象叫做结点。什么是首元结点:其中第一个数据结点。什么是头结点:如果第一个结点不用于存储数据,只用于代表链表的起始点,则这个结点称为链表的头结点。原创 2024-09-23 06:26:30 · 892 阅读 · 0 评论 -
【C语言零基础入门篇 - 14】:顺序表
线性表:线性表是数据结构的一种。一个线性表是 n 个具有相同特性的数据元素的有限序列。(数组也是线性表)线性表中数据元素之间是一对一的关系。线性表主要有顺序表、链表以及栈和队列。//可以存放100个元素的顺序表//当前元素的个数//最多能存多少个元素//顺序表//元素个数//最大容量typedef int Type //类型的定义Type *data;//数据域(存储数据的空间)int length;//顺序表的长度。原创 2024-09-18 20:53:32 · 778 阅读 · 0 评论 -
【C语言零基础入门篇 - 13】:特殊指针
所谓指针数组,其本质上是一个数组,数组中的每一个元素都是指针类型的,都可以指向对应数据类型的地址。原创 2024-09-18 20:53:01 · 592 阅读 · 0 评论 -
【C语言零基础入门篇 - 12】:指针进阶
例如:若定义了以下函数fun,如果p2是该函数的形参,要求通过p2把动态分配存储单元的地址通过函数参数传回主调函数,则形参p2应当怎样正确定义。全局静态常量区(全局区):用于动态内存的申请与释放,一般由程序员手动分配和释放,若程序员不释放,则程序结束时由操作系统回收。指针变量也是有其对应地址的,那么既然有地址,就可以用另一个指针变量指向它的地址,也就是指向指针的指针,简称多重指针。堆区:用于动态内存的申请与释放,一般由程序员手动分配和释放,若程序员不释放,则程序结束时由操作系统回收。原创 2024-09-18 20:52:13 · 809 阅读 · 0 评论 -
【C语言零基础入门篇 - 11】:指针基础
内存地址:在计算机科学中,内存中每个用于数据存取的基本单位,都被赋予一个唯一的序号,称为地址,也叫做内存地址。什么是指针:指针就是内存地址。什么是指针变量:保存内存地址的变量。%p 输出地址的占位符,输出十六进制,%#p输出的十六进制前加上0X。原创 2024-09-18 20:51:42 · 416 阅读 · 0 评论 -
【C语言零基础入门篇 - 10】:自定义数据类型
含义:用户自己建立的数据类型类别:结构体、共用体、枚举类型比如,有5个学生,我们要保存他们的信息,这些信息包括学号、姓名、考试成绩。我们如何写代码保存数据呢?struct 结构体类型名 变量名;在声明类型的时候定义变量注:在格式二中,可以省略结构体类型名;相同类型的结构体变量可以相互赋值。变量名.成员名结构体变量的定义变量名.成员名。原创 2024-09-18 20:51:12 · 592 阅读 · 0 评论 -
【C语言零基础入门篇 - 9】:文件操作
一、什么是文件?(1)程序文件。(2)数据文件。二、文件的概念1、文件名文件名由3部分组成:①文件路径:表示文件在外存设备中的存储位置;②文件名主干:表示文件的名字。③文件后缀:表示文件的性质。2、C提供两种访问文件的途径:二进制模式和文本模式。原创 2024-09-18 20:50:40 · 604 阅读 · 0 评论 -
【C语言零基础入门篇 - 8】:预处理之文件包含
宏定义,又称为宏替换,自定义一个宏(要符合标识符的命名规则),用于替换任意数据、标识符或者表达式。无参宏定义定义无参宏的基本格式:#define 宏名 宏替换注意:不能给宏定义的常量赋值注意:预处理做替换是没有计算功能的,宏名约定俗称都是大写优点:一改全改带参宏定义#define 宏名(参数表) 宏替换注意:宏定义是替换,其在替换完成前并不会计算。宏定义尽量用大写,使其在程序中容易辨别区分。方便程序修改。原创 2024-09-18 20:47:35 · 481 阅读 · 0 评论 -
【C语言零基础入门篇 - 7】:拆解函数的奥秘:定义、声明、变量,传递须知,嵌套玩转,递归惊艳
函数的概念:函数是C语言项目的基本组成单位。实现一个功能可以封装一个函数来实现。定义函数的时候一切以功能为目的,根据功能去定函数的参数和返回值。函数的定义函数定义的格式:函数的返回值类型 函数名(形参列表)代码块;函数的返回值类型,可以是学过的int、char、float、double以及void,还可以是以后要学习的类型;它的作用:表示函数执行完之后,可以得到一个什么类型的值。return 返回出一个具体值(void类型的返回值可以没有return)。原创 2024-09-17 10:25:17 · 975 阅读 · 0 评论 -
【C语言零基础入门篇 - 6】:数组、字符和字符串带你探索无限可能
类型名 数组名[常量表达式];(1)数组名属于用户定义标识符。需要遵守标识符命名规则。(2)定义一维数组时,数组名后必须用一个方括号,将常量表达式括起来,常量表达式的值表示定义的数组有多少个元素(数组的长度或数组的大小 )(3)定义数组时,方括号中的表达式不能有变量。另外,表达式的值必须为正整数。(4)C语言中,每个数组在内存中分配的空间是连续的。原创 2024-09-17 10:24:30 · 553 阅读 · 0 评论 -
【C语言零基础入门篇 - 5】:探索C语言中丰富多样的选择和循环结构
功能:如果表达式1为真,就执行if后面的语句1;如果表达式1为假,就执行else 后面的语句2。功能:如果表达式1为真,就执行下面的语句1;如果表达式为假,就不执行后面的语句。continue语句:提前结束本次循环,接着执行下一次循环。break语句:跳出所在循环,接着执行循环体下面的语句。goto跳转:少用,避免滥用。原创 2024-09-17 10:22:34 · 570 阅读 · 0 评论 -
【C语言零基础入门篇 - 4】:C语言运算符与表达式的奇妙舞蹈
执行规则:在求表达式时,先按运算符的优先级别顺序执行,例如先乘除再加减。在同一级别中的运算符,则需要看运算符的结合性。(同一级别的运算符结合性是一致的)用运算符和括号将运算对象(也叫操作数)连接起来的、符合C语法规则的式子,称为C语言表达式。运算符的种类:算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符、位运算符。关系运算符中的关系运算,也就是比较运算,用于两个表达式之间的比较。特点:自发,小类型(字节数少)往大类型(字节数多)去做自发转换。计算机运算的结果:1(真)、0(假)原创 2024-09-17 10:20:58 · 848 阅读 · 0 评论 -
【C语言零基础入门篇 - 3】:格式化输入输出、字符操作和sizeof运算符揭秘
标准的输入输出库,调用标准的函数,就能让操作系统控制硬件。①格式控制:是一个字符串,可以有占位符,简称“格式字符串”。②输出列表:是程序需要输出的数据,可以是常量、变量或表达式。①格式控制:是一个字符串,可以有占位符,简称“格式字符串”功能:等待从键盘输入数据,读取一个字符,以回车结束输入。②地址列表:是由若干个地址组成的列表。当输入的小数超过六位时会出现精度不准确。:当我们在运行时发现控制台上有一个警告。参数:可以是字符变量、字符常量。从输入设备向计算机输入数据。运算符测量类型的大小。原创 2024-09-17 10:20:26 · 458 阅读 · 0 评论 -
【C语言零基础入门篇 - 2】:基本数据类型、数据溢出
类型是对数据分配存储单元的安排,包括存储单元的长度以及数据的存储形式。不同类型分配不同的长度和存储形式,我们将 int、float、char 等称为类型名称,或者数据类型关键字。int(整型)、char (字符型)、float(单精度浮点型)、double(双精度浮点型)、short(短整型):取值范围中的值说的是Ascii码中的值。分类:有符号(signed char)、无符号(unsigned char)(1)概念:数据的大小超过了当前类型能够表示的范围。按类型分类:整型、短整型、长整型、双长整型。原创 2024-09-17 10:19:56 · 465 阅读 · 0 评论 -
【C语言零基础入门篇 - 1】:常量和变量
例:1234.5,用科学计数法表示为1.2345*10^3,指数形式表示为1.2345e3,只要有指数形式就是实型常量,1E4为实型常量。(1)变量代表一个有名字的、具有特定属性的一个存储单元,可以用来存储数据,也就是变量的值。例如:1、2、3、10000、0、-100、056(八进制数)、0x8A(十六进制数)等。例:“ABC” – 由"A"、“B”、“C”、“\0” 这几个字符组成。常量的分类:整型常量、实型常量、字符常量、字符串常量、地址常量。(例:‘a’、‘A’、‘1’、‘2’等)原创 2024-09-17 10:19:13 · 592 阅读 · 0 评论