ad

《C++程序开发案例课堂》_了解C++的更好途径_8.1 指针概述

admin 73 2023-11-01

【摘要】 本书摘自《C++程序开发案例课堂》一书中第8章,第1节,由刘春茂、李琪编著。

8.1 指针概述

指针是 C 和 C++ 语言中最重要的概念之一,也是最容易产生困惑并导致程序出错的问题 之一。利用指针编程可以表示各种数据结构,通过指针可使主调函数和被调函数之间共享变 量或数据结构,便于实现双向数据通信

8.1.1 什么是指针

如果在程序中定义了一个变量,那么编译程序就会在编译时为这个变量分配一个内存空 间,内存空间的大小由变量的类型决定。在该内存空间中存放变量的值,为了读取内存空间 中的变量值,编译程序会为内存空间分配一个地址,这个“地址”就称为指针。

《C++程序开发案例课堂》_了解C++的更好途径_8.1 指针概述

指针的实质是一种用于储存“另外一个变量的地址”的变量。定义一个指针,需要区别 以下一些概念。

1.指针的类型

这里的指针的类型不是变量的类型,它是指向该变量的指针的类型。就是变量类型后面 加一个*号。

例如:

char*ip; //指针的类型是 char*

2.指针所指向的类型

指针所指向的类型就是指这个指针地址内存中存放的变量的类型,在一个语句中就是把* 号以及后面的声明去掉剩下的类型。

例如:

char*ip; //指针所指向的类型是char

3.指针的值

指针的值实质上就是一个内存的地址,这个值在编译过程中被看作一个地址,不是一个 具体的数值。

4.指针本身所占有的内存区

指针本身所占内存空间指的是一个地址所占用的内存空间,而不是指针所指向的变量所 占用的内存空间。

8.1.2 为什么要用指针

在 C++ 中,通过指针的方式访问数据,实质上就是通过内存地址直接访问数据。从而提 高了访问效率,节省了访问时间。

使用指针,主要有以下3种用途。

(1)处理堆中存放的大型数据。

(2)快速访问类的成员数据和函数。

(3)以别名的形式向函数传递参数。

8.1.3 指针的地址

要想让指针指向某个普通变量,需要通过&来得到该普通变量的地址。

下面通过一个实例来说明这个问题。

【例8-1】指针地址(代码8-1.txt)。

新建名为 zzdztest 的 C++Source File 源程序。源代码如下:

#include

using namespace std ;

void main()

int n=100;

int *p;

p=&n;

cout<<*p<

cout<<&p<

system("pause");

【代码剖析】

这个程序,首先定义了一个 int 型变量 n, 赋值为100;接下来定义了一个 int 型指针 p; 把 n

的地址赋值给指针变量 p, 把指针变量的值和地址输出。

运行结果如图8-1所示。

从结果来看,分别输出了指针变量对应的值和地址,指针变量对应的值使用*p 标志,地址使用&p 来表示。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 [email protected] 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《C++程序开发案例课堂》_了解C++的更好途径_8.4 指针与数组
下一篇:《C++程序开发案例课堂》_了解C++的更好途径_5.5 跳出循环
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×