学习c++基础day3

4.二维数组

二维数组就是在一维数组上,多加一个维度

定义方式

  1. 数据类型 数组名[行数][列数];

  1. 数据类型 数组名[行数][列数] = {{数据1,数据2},{数据3,数据4}};(个人觉得这个最好)

  1. 数据类型 数组名[行数][列数] = {数据1,数据2,数据.,数据4};

  1. 数据类型 数组名[ ][列数] = {数据1,数据2,数据3,数据4};

二维数组数组名

查看二维数组所占空间内存(数据类型所占内存*元素个数)(可以单独查看一行所占的内存空间)以便获取二维数组的行数和列数

获取二维数组首地址

第一二行首地址相差(每行的元素数*数据类型所占的内存)

七.函数

1.概述

作用:将经常使用的一段代码封装起来,减少重复代码

一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能

2.函数的定义

函数的定义一般分为五个步骤:

  1. 返回值类型
  2. 函数名
  3. 参数表列
  4. 函数体语句
  5. return表达式

语法:

返回值类型 函数名 (参数列表)

{

函数体语句

Return表达式

}

3.函数的调用

功能:使用定义好的函数

语法:函数名(参数)

4.值传递

值传递就是函数调用时实参将数值传入形参

值传递时,如果形参发生,并不会影响实参

发生改变的是调用函数中的值

实参只是做一个输入的作用

5.函数的常见样式

(1)无参无返

(2)有参无返

(3)无参有返

(4)有参有返

6.函数的声明(vs2022不用声明)

作用:告诉编译器函数名称及如何调用函数,函数的实际主体可以单独定义

函数的声明可以多次,函数的定义只能有一次

提前告诉编译器函数的存在,可利用函数的声明(可将函数写在main后面)

7.函数的分文件编写

作用:让代码结构更加清晰

函数分文件编写一般有四个步骤

(1)创建后缀名为.h的头文件

(2)创建后缀名为.cpp的源文件

(3)在头文件中写函数的声明

(4)在源文件中写函数的定义

八.指针

1.基本概念(指针就是地址)

指针的作用:可以通过指针间接访问内存

内存编号是从0开始记录的,一般用十六禁止数字表示

可以用指针变量保存地址

2.指针变量的定义和使用

指针变量定义语法:数据类型 * 变量名

3.指针所占内存空间

在32位操作系统下,指针占用4个字节空间

64位下,占8个字节

4.空指针和野指针

空指针:指针变量指向内存中编号为0的空间

用途:初始化指针变量

注意:空指针指向的内存时不可以访问的(0~255之间的内存编号是系统占用的,不可访问)

野指针:指针变量指向非法的内存空间

没有申请这块内存的使用,也就无法访问

5.const修饰指针

const修饰指针有三种情况

(1)const修饰指针——常量指针(常量的指针)

特点:指针的指向可以修改,但指针指向的值不可以改

a = 10,b = 10

const int * p = &a

(2)const修饰常量——指针常量(指针是常量)

int * const p = &a

特点:指针的指向不可以改,指针指向的值可以改

(3)const即修饰指针,又修饰常量

特点:指针的指向和指针指向的值都不可以改

const int * const p = &a

6.指针和数组

作用:利用指针访问数组中的元素

(p是整型指针)

7.指针和函数

作用:利用指针作函数参数,可以修改实参的值

地址传递是直接对地址所对应的实参进行访问交换数值,因此可以改变实参

值传递是实参对形参进行输入赋值,形参内部交换数值,自然没改变实参的值

8.结构体

1.概念

结构体属于用户自定义的数据类型,允许用户储存不同的数据类型

2.结构体定义和使用

语法:struct 结构体名 {结构体成员列表};

通过结构体创建变量的方式有三种:

struct 结构体名 变量名

struct 结构体名 变量名 = {成员1值,成员2值...}         (个人觉得最好用)

定义结构体时顺便创建变量

3.结构体数组

作用:将自定义的结构体放入数组中方便维护

语法:struct 结构体名 数组名[元素个数] = {{},{}...{}}

(1).定义结构体

(2)创建结构体数组

(3)给结构体数组中的元素赋值

(4)遍历结构体数组

 4.结构体指针

作用:通过指针访问结构体中的成员

利用操作符 -> 可以通过结构体指针访问结构体属性

(1)创建结构体变量

(2)通过指针指向结构体变量

(3)通过指针访问结构体变量中的数据

5.结构体嵌套结构体

作用:结构体中的成员可以是另一个结构体

例:每个老师辅导一个学生,一个老师的结构体中,记录一个学生的结构体

6.结构体做函数参数

作用:将结构体作为参数向函数中传递

传递方式有两种

值传递

地址传递

7.结构体中const使用场景

作用:用const来防止误操作(防止误修改)

值传递需要占用额外的内存将数据复制一份,地址传递相对可以减少内存空间

缺点是信息会被改变,这是需要用const来防止其中信息发生改变

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值