跳转到内容

编程基础/地址运算符

来自维基教科书,开放的书籍,开放的世界

介绍 C++ 编程语言中使用的地址运算符。

C++ 中的地址运算符

[编辑 | 编辑源代码]

"每个变量都被分配了一个内存位置,可以使用地址运算符 & 获取其地址。内存位置的地址称为指针。执行程序中的每个变量都被分配了一个足够大的内存区域来保存该变量类型的值."[1] 因此,无论是全局范围变量使用数据区进行存储还是局部范围变量使用堆栈进行存储;都可以询问该变量在内存中的地址。给定一个名为 age 的整型变量

int age = 47;

可以使用地址运算符(即 &)来确定它在内存中的位置(或其地址)

&age

此表达式是一个指针数据类型。地址和指针的概念是一样的。指针指向内存中的位置,因为指针的值是在内存中存放数据项的地址。

地址运算符通常以两种方式使用

  1. 进行按引用传递参数
  2. 建立指针的值

这两个项目都在本模块的补充链接中介绍。

可以使用以下代码打印出地址的值

cout << &age;

这将默认以十六进制打印值。有些人更喜欢整数值,要以整数值打印,需要将地址强制转换为 long 数据类型

cout << long(&age);

另一个小细节是,数组的名称本身就是指向数组第一个元素的指针。因此

int iqs[] = {122, 105, 131, 97};

将 "iqs" 作为指向数组的指针。

地址运算符
符号 &。
指针
一个变量,其值为地址。

参考文献

[编辑 | 编辑源代码]
  1. Tony Gaddis, Judy Walters and Godfrey Muganda, Starting Out with C++ Early Objects Sixth Edition (United States of America: Pearson – Addison Wesley, 2008) 597.
华夏公益教科书