C++ 第4章 指针和引用

时间:2026-01-24

C++ 第4章 指针和引用

第四章 指针和引用4.1.1 指针的概念 什么是指针? 【什么是指针 】存放地址的变量称为指针变量。 存放地址的变量称为指针变量。

地址是一个值,可以存放在变量中,存放地址的变量称为指针变量。 地址是一个值,可以存放在变量中,存放地址的变量称为指针变量。一 个指针变量里面所存放的内容一定是另一个变量在内存中的地址。 个指针变量里面所存放的内容一定是另一个变量在内存中的地址。拥有 这个地址的变量称为该指针变量所指向的变量。 这个地址的变量称为该指针变量所指向的变量。 “指针”表达了两层含义:一个地址以及存储于该地址处的数据的类型 指针”表达了两层含义: 指针

C++ 第4章 指针和引用

4.1.1 指针的概念【指针常量和指针变量 】空指针的地址值0可以用符号常量 表示。 空指针的地址值 可以用符号常量NULL表示。NULL(或0)是C++中经常用到 可以用符号常量 表示 或 是 中经常用到 的指针常量。 的指针常量。

指针是一个变量,必须先声明,后使用。其声明的一般形式如下: 指针是一个变量,必须先声明,后使用。其声明的一般形式如下: 数据类型 *标识符; 标识符; 标识符给出的是指针变量名。 标识符给出的是指针变量名。 数据类型可以是C++语 语 数据类型可以是 言中任一合法的类型。 言中任一合法的类型。 “*”号说明其后的变量是一个指针变量。 号说明其后的变量是一个指针变量。 号说明其后的变量是一个指针变量

列出的数据类型并不是指针变量本身的类型, 列出的数据类型并不是指针变量本身的类型,而是指针用于保存的地址值 中存储的变量的数据类型,即指针所指向变量的数据类型。 中存储的变量的数据类型,即指针所指向变量的数据类型。

C++ 第4章 指针和引用

任一指针变量本身数据值的类型都是unsigned 任一指针变量本身数据值的类型都是unsigned long int 比如: 比如: int *p1; double *p2;

说明:声明了 、 两个指针 其中p1指向 两个指针。 说明:声明了p1、p2两个指针。其中 指向 int型变量,p2指向 型变量, 指向 指向double型变量。 型变量。 型变量 型变量

指针也可以和其他变量同时声明 比如: int i,*p1; 比如: 说明:声明了一个int型变量 和指针 。 型变量i和指针 说明:声明了一个 型变量 和指针p1。 注 声明了一个指针后,在使用前必须首先给它赋一个合法的值。否则, 声明了一个指针后,在使用前必须首先给它赋一个合法的值。否则, 程序中对指针的使用就有可能导致系统崩溃。 程序中对指针的使用就有可能导致系统崩溃。

与其他变量一样,我们可以在声明指针的同时,通过初始化来给指针赋值。 与其他变量一样,我

们可以在声明指针的同时,通过初始化来给指针赋值。 比如: 比如: int i,*p1=&i; int *p2=0; 说明: 个声明就将指针p1的值初始化为变 说明:第1个声明就将指针 的值初始化为变 个声明就将指针 的内存地址; 个声明将指针p2的值初 量i的内存地址;第2个声明将指针 的值初 的内存地址 个声明将指针 始化为0。值为0的指针叫空指针 的指针叫空指针。 始化为 。值为 的指针叫空指针。

C++ 第4章 指针和引用

4.1.1 指针的概念变量 可施于指针上的操作 地址

&称为取址操作,是一元操作符,作用于一个操作数,功能是取操作数的地址 称为取址操作,是一元操作符,作用于一个操作数, 称为取址操作…

(1)两个特殊的指针操作符是 和*。 两个特殊的指针操作符是&和 。 两个特殊的指针操作符是 Y 0x1007

29

int x=29;

point

0x100b…

0x100f

int *point=&x; int y=*point;X取出X 取出X的地址

0x100f

29

C++ 第4章 指针和引用

4.1.1 指针的概念*称为取值操作,也是一元操作符,操作数只能是指针变量,功 称为取值操作,也是一元操作符,操作数只能是指针变量, 称为取值操作 能是返回指针所指向的变量的值。 能是返回指针所指向的变量的值。

每个变量在内存中都有一个固定的地址,而指针中保存的就是变量的地 每个变量在内存中都有一个固定的地址, 址值。如果声明了一个指针,并使其值为某个变量的地址, 址值。如果声明了一个指针,并使其值为某个变量的地址,则可以通过 这个指针间接地访问在这个地址中存储的值。 这个指针间接地访问在这个地址中存储的值。

C++ 第4章 指针和引用

4.1.1 指针的概念比如: int i=1,*p=&i; 比如: cout<<*p; 比如: int i,*p=&i; 比如: *p=2; *p=2;cout<<*p; 例如 int *p; *p=2; *p=2; 将输出变量i 的值1 将输出变量i 的值1

输出2 输出2

//错误,指针P //错误,指针P没有赋值 错误

说明:没有明确地给指针赋一个地址值,因而其值是随机的。 说明:没有明确地给指针赋一个地址值,因而其值是随机的。 注 在使用指针前,必须首先给它赋一个合法的值。通过“ ” 在使用指针前,必须首先给它赋一个合法的值。通过“*”运算访 问目的数据的过程也称为“间接寻址”过程。 问目的数据的过程也称为“间接寻址”过程。

C++ 第4章 指针和引用

4.1.1 指针的概念【例4.1】 简单指针变量。 】 简单 …… 此处隐藏:3782字,全部文档内容请下载后查看。喜欢就下载吧 ……

C++ 第4章 指针和引用.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219