结构体中 const 使用场景
结构体中 const 使用场景 当我们看到const 的时候,这表示限制为只读,用来防止误操作。 在使用函数的时候,如果是值传递,那么每一个数据都会复制一份。这样数据量会非常大。如果我们使用地址传递,那么会减少占用的空间。(因为指针只占用 8 个字节(或者 4 个字节))。 但是使用地址传递会有一个…
cpp结构体和指针
指针是什么:指针是一个地址,比如00x0001 这样的地址。 什么情况下打印会出现地址: 在int float double 等数据类型前加上取址符&。 直接打印数组的数组名称 在自定义的结构体的变量前加上取址符&。 我们来试一下 #include <iostream> …
cpp结构体做函数参数
06 结构体做函数参数 作用:将结构体作为函数的参数传入函数。 将结构体传入函数有两种传入方法: 值传递; 地址传递。 我们复习一下这两种传递的区别。 值传递分为实际参数和形式参数。简称为实参和形参。在值传递的时候,会把实际参数传递给形式参数。形式参数的改变不会影响实际参数的值。我们举个例子:(环境…
cpp结构体嵌套结构体
05 结构体嵌套结构体 结构体的成员可以是另外一个结构体。 情景:假设一个一对二的辅导。那么有 1 个老师和2个学生。那么可以创建两个结构体来存储这个数据。 那么我们可以这样试试 #include <iostream> #include <string> using name…
cpp结构体指针
结构体指针 作用:利用结构体指针访问结构体中的成员 利用操作符-> 可以通过结构体指针访问结构体属性。 #include <iostream> #include <string> using namespace std; struct stu { string name…
cpp结构体数组
结构体数组 用途:将自定义的结构体放入数组方便维护 语法:struct 结构体名称 数组名称[元素个数] = {{数据,数据},{数据,数据}} 定义一个数组存放结构体: #include <iostream> #include <string> using namespac…
cpp结构体的定义和使用
结构体的定义和使用 定义一个结构体 语法:struct 结构体名称 {结构体成员列表} eg struct student { string name; int age; int scores; }; 通过结构体创建的变量的方式有三种。 struct 结构体名称 变量名称 //通过结构体创建具体学生…
cpp结构体的基本概念
结构体的基本概念 结构体属于用户自定义的数据类型,允许用户存储不同的数据类型。 数据类型是什么?比如说int double 等等等。
cpp指针的运算
09 指针的运算 指针是一个存储内存空间地址的一个数据。我们可以创建一个指针然后打印一下:(环境:Windows11 (arm/Apple M VM)/Visual Studio 2022/Debug/arm64) int a; int* p = &a; cout << (int…
cpp指针、数组和函数
08 指针、数组和函数 这是一个大杂烩。 描述:封装一个函数,利用冒泡排序,实现对整型数组的升序(或者降序,喜欢哪个用哪个)的排序。 #include<iostream> using namespace std; void fun1(int* arr, int cd); int main…
cpp指针和函数
07 指针和函数 作用:利用指针作为函数的参数的时候,可以实现修改实参的数据值。 首先回顾下值传递: #include<iostream> using namespace std; int fun1(int a, int b); int main() { int a = 10; int …
cpp指针和数组
06 指针和数组 数组是什么:数组是连续的内存空间中存放相同的数据类型的数据值。 我们现在的知识,可以这样访问数组的元素: #include <iostream> using namespace std; int main() { int arr[] = { 1,2,3,4,5,6,7,…
cpp-const修饰指针
05 const修饰指针 const 修饰指针 -> 常量指针 常量指针的特点:指针的指向可以修改,但是指针指向的数据值不可以修改。 #include using namespace std; int main() { int a = 10; int b = 100; const int* p…
cpp野指针
04-2 野指针 定义:指针指向的变量非法。 注意:野指针指向的内存是不可以操作的。 int main() { int* p = (int *)0x114514; //*p = 100; //cout
cpp空指针
空指针 创建:int* p = NULL 定义:空指针是表示指针指向内存种编号为 0 的空间 用途:初始化指针变量 注意:空指针指向的内存是不可以访问的。 提示:0-255内存是被系统占用的,不可以操作。 #include <iostream> using namespace std; …
cpp指针所占内存空间
03 指针所占内存空间 指针也是一种数据类型。 在 32 位操作系统下,无论什么类型的指针,都是占用4 个字节。 在 64 位操作系统下,无论什么类型的指针,都是占用8 个字节。 #include <iostream> using namespace std; int main() { …
cpp指针的定义和使用
02 指针的定义和使用 如何定义一个指针: 指针定义的语法:数据类型 * 指针变量名称 。 #include <iostream> using namespace std; int main() { int a = 10; int* p; //创建了指针的变量 p = &a; /…
cpp指针的基本概念
指针的基本概念 无论是 c 或者 c++,都应该熟知指针 指针的作用:可以通过指针间接访问一块内存 内存的编号是从 0 开始记录的,一般采用十六进制的数字表示。 可以利用指针记录变量的内存地址 指针一般用字母p表示 指针就是一个地址。可以通过指针来保存一个地址
cpp函数的分文件编写
函数的分文件编写 作用:让代码的结构更加清晰 函数的分文件:如果写很大的代码,找不同的函数要上下滑来滑去,比较麻烦。那么我们就可以创建不同的文件,让每一个函数都在自己的文件里面。这样会清晰一点。 函数分文件的编写一般有 4 个步骤: 创建后缀名为.h 的头文件 创建后缀名为.cpp 的源文件 在头文…
cpp函数的声明
函数的声明 作用:告诉编译器函数的名称于如何调用函数。函数的实际主体可以单独定义 注意注意:函数的声明可以多次,但是函数的定义只能有一次。 #include <iostream> using namespace std; int fun(int a, int b); //这是函数的声明 …
cpp函数的常见样式
函数的常见样式 常见的函数样式分为 4 种 无参无返 void fun1()//不用传入参数 { cout
cpp函数的值传递
函数的值传递 值传递 -> 函数调用的时候。把实参传递给形参 当值传递的时候,如果形参发生改变,不会影响实参。 #include <iostream> using namespace std; // 如果函数不需要返回值,可以声明的时候写`void` void changenum(…
cpp函数的调用
函数的调用 功能:使用定义好的函数。 语法:函数名(传入参数)。 我们先定义一个函数 int numadd(int num1, int num2) { int sum = num1 + num2; return sum; } 这里要传入两个参数。那么我们调用函数的时候需要传入两个参数。 在 main…
cpp函数的定义
02 函数的定义 函数的定义一般有 5 个步骤: 返回值的数据类型 函数的名称 传入参数的列表 函数体语句 return 语句 语法: 返回值类型 函数名 (参数列表) { 函数体语句; return 表达式; } 我们来试一下: 实现一个加法函数,它的功能是传入两个整型,计算两数据相加的结果,然后…
cpp函数
函数 函数是将经常使用的代码进行一个封装,用于减少重复的代码。 一个较大的程序,一般会分为若干个程序块。每个模块可以实现特定的功能。 标准的 C 库提供了大致 140 个函数。包括rand() (随机数函数) sqrt(i) (取平方根函数) pow(i,y) (计算i^y的函数)
cpp数组和指针
数组和指针 数组的名称相当于是一个指针常量,即,指针指向的数据值可以修改,但是指针指向的内存空间的地址不可以修改。 比如说 #include <iostream> using namespace std; int main() { int arr[5]; cout << (i…
cpp向函数传入数组
06 向函数传入数组 由于 c++中,打印数组的数组名称只显示数组的首地址,比如说这样: #include <iostream> using namespace std; void main() { int arr[5]; cout << arr << endl;…
cpp-c语言风格的字符串
05 c语言风格的字符串 在之前我们学习过,在 c++中创建字符串型有两种方法。一种是 c 语言风格的字符串,一种是 c++风格的字符串。我们先简单回顾一下。 c 语言风格的字符串 语法:char 变量名称[] = "字符串" #include using namespace s…
cpp多维数组
多维数组: 去网上转了一圈,发现 c++支持创建多维数组。其创建方式和二维数组差不多。二维数组是最简单的多维数组。 多维数组的声明方式基本可以是这样的,eg:int arr[size1][size2][size3].... 我们创建一个多维数组试一下: #include <iostream&g…
练习-考试成绩统计
03-3 练习 考试成绩统计 描述:有三位同学(张三、李四、王五)。成绩如下。请分别输出三位同学的总成绩。 语文 数学 外语 张三 100 100 100 李四 90 50 100 王五 60 70 80 #include <iostream> #include <string&g…
cpp二维数组的数组名
03-2 二维数组的数组名 查看二维数组所占的内存空间 获取二维数组的首地址。 #include <iostream> using namespace std; int main() { //创建一个二维数组。 int arr[2][3] = { {1,2,3},{4,5,6} }; c…
cpp二维数组及二维数组的定义方式
03-1 二维数组及二维数组的定义方式 二维数组是什么:二维数组相当于在一维数组的基础之上增加了一个维度。 二维数组的定义方式: 二维数组一般来说有 4 种定义方式。 数据类型 数组名称 [行数][列数]; int arr1[2][3]; arr1[0][0] = 10; arr1[0][1] = …
cpp冒泡排序
冒泡排序 作用:最常用的排列算法,对数组内的元素进行排列 逻辑: 比较相邻两个元素。如果第一个比第二个大,那么交换他们两个 对每一对相邻元素做同样的工作,执行完毕后找到一个个最大值 重复上述操作,每次比较次数都减去 1,直到不需要再次比较 这个下面是自己摸出来的。 #include <iost…
练习-数组元素逆置
02-4 练习 数组元素逆置 描述:声明一个 5 个元素的数组,并且将元素逆置。(eg 原数组 12345,倒置后为 54321) #include <iostream> using namespace std; int main() { int arr[] = { 1, 2, 3, 4…
练习-五只小猪称体重
02-3 练习 五只小猪称体重 练习: 描述:在一个数组中记录了五只小猪的体重。找出并打印最重的小猪体重。 #include <iostream> using namespace std; int main() { int arr[] = { 300,350,200,400,350 };…