C++学习(指针、引用、结构体)详解
创始人
2025-06-01 14:36:05
0

1编译软件

Visual Studio

2基本语法

2.1指针

2.1.1指针的使用

//定义一个指针int a = 10;int * p;//让指针记录变量a的地址p = &a;cout << "a的地址:" << &a << endl;cout << "p:" << p << endl;cout << "p:" << *p << endl;//使用指针//可以通过解引用的方式来找到指针*p = 1000;cout << "a的地址:" << a << endl;cout << "p:" << *p << endl;

2.1.2指针的内存

在32位操作系统中占用4字节,在64位操作系统中占用8字节

更改成64位后,指针的内存就是8位了

2.1.3空指针

指针变量指向了内存中编号为0 的空间 用来初始化指针变量,空指针指向的内存是不可以被访问的。

    //定义一个指针 指针变量指向内存地址为0的空间int * p = NULL;//访问空指针报错 内存编号为0-255为系统占用 不允许用户访问*p = 100;cout << "p:" << p << endl;cout << "*p" << *p << endl;

2.1.4野指针

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

空指针和野指针都不是我们申请的内存空间,都不能访问。

2.1.5 const修饰指针

const修饰指针:常量指针

指针的指向可以修改指针指向的值不可以修改

const修饰常量:指针常量

指针的指向不可以修改但是指针指向的值可以修改

const既修饰指针又修饰常量

指针的指向和指针指向的值都不可以修改

2.1.6指针与数组

2.1.7指针和函数

值传递:不会改变实参

地址传递:会修改实参的值

2.2结构体

2.2.1结构体的定义和创建

用户自定义的数据类型,允许用户存储不同的数据类型

创建使用的几种方式,创建结构体对象的时候可以省略struct,但是定义的时候不能省略

2.2.2结构体数组

将自定义的结构体放入到数组中。

2.2.3结构体指针

关于对象调用成员用”.”还是”->”,看成员在堆还是栈上,在堆中用-> ,在栈中用.

2.2.4结构体嵌套结构体

这里要注意的是想在Teacher里使用Student结构体,必须先创建Student结构体

2.2.5结构体作函数参数

可以看到在地址传递中main函数中的值也发生了改变,在值传递中Main函数中的值没有变

2.2.6结构体中的const使用场景

将函数中的形参改成指针,可以减少内存空间,不会复制新的副本出来。但是为了防止修改了实参中的数据,在数据前加上const就可以解决问题,这样实参就不会被修改了。

2.3引用

作用:给一个变量起别名 数据类型&别名 = 原名

引用后和原名指向同一个内存。

2.3.1引用的注意事项

1 引用必须初始化

2 初始化后不能被改变

2.3.2引用作函数参数

函数传参时,可以利用引用让形参修饰实参,简化指针修改实参

在值传递中,不能改变实参的值,地址传递可以改变实参,引用传递也可以。

2.3.3引用作函数的返回值

引用的本质是一个指针常量,指针的指向不可以修改,但是指针指向的值可以修改。

不要返回局部变量的引用

函数的返回值是一个引用,那么函数的调用可以作为一个左值。

2.3.4常量引用

用来修饰形参防止误操作

引用必须指向一个内存空间,栈区或者堆区,不能是常量区中的。

加一个const常量就可以解决问题,相当于先创建一个temp=10,然后将引用指向temp

int a = 10;
const int & ref = 10;  //int temp=10; const int & ref = temp;

相关内容

热门资讯

家装预付资金安全困局如何破解,... 家装预付资金安全困局如何破解 专家提出:建立“先验收后付款”装修资金存管制度 预交数万元甚至数十万元...
工行安康解放路支行积极开展《反... 为深入贯彻落实《国家金融监督管理总局安康监管分局办公室关于开展<反有组织犯罪法>宣传活动的通知》要求...
重庆公布育儿补贴制度实施方案 原标题:每孩每年3600元 重庆公布育儿补贴制度实施方案 11月21日,记者了解到,市卫生健康委、市...
十五运会组委会在深总结本届赛事... 深圳新闻网2025年11月22日讯(深圳报业集团记者 林炜航)11月21日,十五运会组委会在深圳市民...
中国军视网:日本妄言击沉福建舰... 本文转自【中国军视网】; 日本首相高市早苗发表涉台错误言论,公然挑战一个中国原则,甚至还有日本无知政...
重磅!东莞长安50万㎡产城发布... 在当下竞争激烈的市场环境中,中小企业如何突破成本压力,找到一片既能扎根成长又能眺望未来的理想栖息地?...
毕马威:政策、资本等多维着力 ... 由毕马威联合长三角G60科创走廊创新研究中心主办的“长三角高端装备新质领袖榜单发布仪式”于11月21...
河曲县开展驻村帮扶工作政策业务... 来源:河曲县融媒体中心 近日,我县组织开展驻村帮扶工作政策业务集中培训,进一步提升驻村帮扶干部...
羽绒服涨价与猪肉降价有关?经济... 中央气象台发布统计信息,14日至17日,我国今年下半年首轮大范围寒潮天气即将自西向东影响我国,多地降...
周勇,任上落马 11月21日,中央纪委国家监委网站发布通报: 国家能源集团乌海能源党委书记、董事长周勇涉嫌严重违纪违...