icon-rss-large

外贸 | | 登录

订阅我们

指针,是C++语言中最为重要的概念

Published on 2022-09-04 by zhushican

C++, 微软雅黑, 黑体, Arial, Helvetica, sans-serif; font-size: 18px; background-color: rgb(255, 255, 255);">指针,是C++++语言中最为重要的概念,也是最为复杂的概念之一。掌握好了指针,才能够书写出灵活高效的C++程序,才能融会贯通,得心应手地使用C++语言。

指针,是C++语言中最为重要的概念

地址是什么?在计算机中,所有数据都是存放在存储器中的。一般把存储器中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不等。为了正确地访问这些内存单元,必须为每个内存单元编上号。根据一个内存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。

指针是什么?指针是一种数据类型,和int、float一样,只不过指针这种数据类型中存放的既不是整数,也不是浮点数,而是一个地址。

程序中我们一般是通过变量名来对内存单元进行存取操作的。例如:

    int i;

    i=3;


如果我们在程序中定义了一个变量,在编译时就给这个变量分配内存单元。系统根据程序中定义的变量类型,分配一定长度的空间。例如,一般为整型变量分配4个字节,为字符型变量分配1个字节。程序经过编译以后已经将变量名转换为变量的地址,对变量值的存取都是通过地址进行的。这种按变量地址存取变量值的方式称为直接存取方式,或直接访问方式。

例如,为了将数值3送到变量中,我们可以采用直接存取的方式,将3送入变量i所在的地址2000中去,如图7-1a所示:

指针,是C++语言中最为重要的概念

7-1 变量及指针变量存储

我们还可以采用另一种称为间接存取(间接访问)的方式。可以在程序中定义这样一种特殊的变量i_pointer,它是专门用来存放地址的,称为指针变量。我们按照指针变量i_pointer中的地址内容2000,找出i_pointer所指向的单元,即地址2000这一存储单元,再将3送入到地址2000之一单元中去。

所谓指向,就是通过地址来体现的。由于通过地址能找到所需的变量单元,因此可以说,地址指向该变量单元。因此将地址形象化地称为“指针”。一个变量的地址称为该变量的指针。

如果有一个变量是专门用来存放另一变量地址(即指针)的,则它称为指针变量。指针变量的值(即指针变量中存放的值)是地址(即指针)。


Gravatar

About

Read More...
0
Comments
Leave a Comment