C++基础随笔002

1、值传递

(1)所谓值传递,就是函数调用时实参将数值传入给形参。

(2)值传递时,如果形参发生改变,并不会影响实参,即值传递时,形参是修饰不了形参的。

 

2、指针:

(1)作用:可以通过指针间接访问内存。

(2)可以通过解引用的方式来找到指针指向的内存。

(3)指针前加 * 代表解引用,可以找到指针指向的内存中的数据。

(4)在32位操作系统下,指针是占4个字节空间大小,与数据类型无关;

         在64位操作系统下,指针是占8个字节空间大小。

 

3、空指针和野指针

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

(2)用途:初始化指针变量。

(3)空指针指向的内存是不可以访问的。

 

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

 

5、const修饰指针:

const修饰指针有三种情况:

(1)const修饰指针: 常量指针

const int * p;(特点:指针的指向可以修改,但是指针指向的值不可以修改。)

(2)const修饰常量: 指针常量

int * const p;(特点:指针的指向不可以修改,但是指针指向的值可以修改。)

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

const int * const p;(特点:指针的指向不可以修改,指针指向的值也不可以修改。)

记忆技巧:看const右侧紧跟着的是指针还是常量,是指针就只常量指针,是常量就是指针常量

 

6、指针和数组

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

 

7、指针和函数

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

地址传递:可以修改实参的值

 

8、结构体:

(1)概念:结构体属于用户自定义的数据类型,允许用户存储不同的数据类型。

 

9、结构体数组:

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

 

10、结构体指针:

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

(2)利用操作符 -> 可以通过结构体指针访问结构体属性(即结构体中的成员)。

 

11、结构体嵌套结构体

(1)作用:结构体中的成员可以使另一个结构体

 

12、结构体做函数参数

(1)作用:将结构体作为参数向函数中传递。

(2)传递方式有两种:值传递、地址传递。

 

13、结构体中的const使用场景:

作用:用const来防止误操作。

如:将函数中的形参改为指针,可以减少内存空间,而且不会复制新的副本出来

 

14、内存分区模型:

C++程序在执行时,将内存大方向分为4个区域:

(1)代码区:存放函数的二进制代码,由操作系统进行管理的。

(2)全局区:存放全局变量和静态变量以及常量。

(3)栈区:由编译器自动分配释放,存放函数的参数值,局部变量等。

注意事项:不要返回局部变量的地址,栈区开辟的数据由编译器自动回收

(4)堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收。

注:在C++中主要利用new在堆区中开辟内存

注意:

内存四区的意义:不同区域存放的数据,赋予不同的声明周期,给我们更大的灵活编程。

总结:

(1)C++中在程序运行前分为全局区和代码区。

(2)代码区特点是共享只读

(3)全局区中存放全局变量、静态变量、常量。

(4)常量区中存放const修饰的全局常量和字符串常量。

 

15、new操作符

(1)C++中利用new操作符在堆区开辟数据。

(2)堆区开辟的数据,由程序员手动开辟,手动释放,释放利用操作符delete。

(3)语法: new 数据类型

注:利用new创建的数据,会返回该数据对应的类型的指针。

(4)释放堆区数组,释放数组的时候,要加[ ]才可以。 如:delete [ ] arr。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xw-何妨吟啸且徐行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值