C++ 指针变量

本文详细介绍了指针的基本概念,包括其与内存地址的关系,如何定义和初始化指针变量,以及指针的运算规则,通过实例演示了取地址和取值运算符的使用。重点讲解了指针变量类型匹配和赋值注意事项,适合初学者理解指针在C++中的应用。
摘要由CSDN通过智能技术生成

一、简介

      指针=(内存)地址

      指针变量=存放内存地址的变量

二、定义指针变量

1.格式:

        类型名 *指针变量名;

                解:“*”:定义指针变量的说明符

2.定义指针后

系统会为指针分配一个内存单元,内存空间的大小由根据指针所指的数据类型决定。

3.指针指向的数据类型与指针的移动和运算相关

如:“使指针移动1个位置”或“使指针值+1”

若指向整型:地址移动2个字节或+2个字节

若指向实型:地址移动4个字节或+4个字节

三、指针的运算

1.C++有2个专门用于指针的运算符

        &                取地址运算符

        *                 取值运算符

2.用法

&        常放在变量前面

          作用:取该变量的地址

*        常放在指针变量前面

         作用:取该指针所指内存单元中的内容

int a=8;//声明整型变量a,初值为8
int *p=&a;//声明指向整型变量的指针p,其值为a的地址
int b=*p;//声明整型变量b,并将指针变量p所指存储单元的内容赋值给b

int *pl;//声明指向整型变量的指针p1
pl=p;//将指针变量p的地址赋给pl,p1也指向a的存储单元
        //它等价于pl=&a

3.注意

1、定义指针变量之后,必须要对其初始化,否则无意义

2、指针变量的类型必须与其存放的变量类型保持一致

3、指针变量之间赋值,必须使其类型相同

4、指针变量只能赋一个指针的值,若赋的是一个变量的值或常量的值,而不是变量的地址,系统会以这个值作为地址,根据这个“地址”读写的结果将是致命的

4.应用

#include <iostream>
using namespace std;
int main()
{
	int a,*pi;
	pi=&a;	//pi指向a
	*pi=8;	//pi所指存储单元数据为8
cout<<"a的地值为:"<<&a<<endl;	//输出变量a的地址,不同机器值不同
cout<<"pi的值为:"<<pi<<endl;	//输出变量pi的地址,不同机器值不同
cout<<"a="<<a<<endl;	//输出变量a的值
	a=10;
cout<<"a="<<a<<endl;
cout<<"*pi="<<*pi<<endl;//输出pi所指存储单元的数据
return 0;
}

运行结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值