C++自学笔记——指针

指针

  • 作用:

可以通过指针间接访问内存

记录指针地址编号

即指针就是一个变量的地址

  • 定义一个指针:

语法:

       数据类型* 指针变量名

       PS:数据类型要和被查询的指针变量相同

  • 指针的使用:

1.“&”取值符的使用

       eg:通过定义一个指针变量p取变量a的地址

              int a;

              int* p = &a;

2.”*”解引用的使用

       解引用就是把指针对应的值表达出来

       eg:int a = 10;

              int* p = &a;

              cout << *p <<endl;

       此时运行则会输出指针变量p对应的变量的值,也就是a变量的值 10

  • C++中指针所占内存长度

在32位(x86)系统中指针通常占四个字节长度

在64位(x64)系统中指针通常占八个字节长度

空指针

  • 定义:

指针变量指向内存中编号位0 的指针

  • 用途:

用于初始化指针变量

补充:

       空指针不可访问,即在0~255之间的内存编号是系统占用的,不可访问

野指针

定义:

       指针变量指向非法空间

空指针和野指针都不是我们申请的空间,因此不要随意访问空指针和野指针

const修饰指针

  • 类型:
  • const修饰指针——常量指针
  • const修饰变量——指针常量
  • const既修饰指针又修饰变量
  • const修饰指针

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

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

  • const修饰常量

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

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

  • const既修饰指针又修饰变量

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

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

指针和数组

       作用:

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

              eg:int arr [];

                     int * p = &arr;

                     此处arr代表数组的首地址

指针和函数

一、作用:

       利用指针和函数作参数,进而实现对函数实参的值进行修改

二、例题:

       利用函数写一个交换两个变量的值的函数:

       当不使用指针时,我们先分文件编写一个函数exchange:

              

 然后再源文件中使用函数尝试交换变量a和变量b

此时使用函数进行交换

 此时我们发现实参的值并没有发生交换

 接下来我们尝试使用指针修改函数:

             

 

此时我们再次使用函数进行交换操作

 

此时,我们发现,函数实参的值进行了交换 

原理:

       使用指针后,解引用时找到指针指向的值,而函数中形参和实参的指针所指向的内存时相同的,所以在修改指针指向的值时,实参指针所指向的值会发生改变,进而间接地修改了实参变量的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值