设为首页 加入收藏

TOP

4.2.2 声明指针
2013-10-07 12:29:21 来源: 作者: 【 】 浏览:75
Tags:4.2.2 声明 指针

4.2.2  声明指针

除了在名称前面用星号表明是指针变量以外,指针的声明与普通变量类似。例如,为了声明long类型的指针pnumber,我们可以使用下面的语句:

  1. long* pnumber; 

该语句中星号离类型名称更近。如果愿意,我们也可以将其写成下面的形式:

  1. long *pnumber; 

编译器根本不介意我们怎样写,但变量pnumber的类型是"指向long类型的指针",因此使星号离类型名称更近往往能更清楚地表明这一点。无论选择哪种书写指针类型的方法,结果都相同。

我们可以在同一条语句中混合普通变量和指针的声明。例如:

  1. long* pnumber, number = 99

像前面一样,这条语句声明了变量pnumber,其类型为"指向long类型的指针",同时还声明了long类型的变量number。一般来说,将指针的声明同其他变量分开更好,不然可能使人对所声明变量的类型产生误解-- 尤其当星号离类型名称更近时。下面的语句看起来更清楚,而且将声明分开写在两行上使我们能够分别给它们添加注释,这有助于使程序更易于理解。

  1. long number = 99;       // Declaration and 
    initialization of long variable  
  2. long* pnumber;                  // Declaration of 
    variable of type pointer to long 

C++(www.cppentry.com)中,使用以字母p开始的变量名表示指针是通用惯例,这使我们能更容易看清程序中哪些变量是指针,从而使程序更易于理解。

下面我们先举例说明指针的工作过程,暂时先不管指针有什么用途。我们很快就将学习如何使用指针。假设有一个long类型的变量number(上面声明过),其包含的数值是99,还有一个变量pnumber,其类型为"指向long类型的指针",可用来存储变量number的地址。但是,我们如何获得变量的地址呢?

取址运算符

我们需要的是取址运算符&。该运算符是一元运算符,用于获得变量的地址,又名引用运算符-- 本章稍后再讨论如此命名的原因。为了设置刚才讨论的指针,可以使用下面这条赋值语句:

  1. pnumber = &number; // Store address of number in pnumber 

该操作的结果如图4-5所示。

我们可以使用&运算符获得任何变量的地址,但需要有适当类型的指针来存储地址。例如,如果我们希望存储double型变量的地址,则相应的指针必须被声明为double*类型,即"指向double类型的指针"。

 
(点击查看大图)图  4-5

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇4.2.3 使用指针 下一篇4.1.5 多维数组

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: