一级棒(Eachfun)
一级棒 - 读书笔记 - C++ Primer - 指针(二)
RSS订阅
指针(二)
发表时间:2006-07-04 03:19:03 关键词:C++,MFC,VC,Primer,编程,教程,读书

  指针的初始化与赋值:指针是一个变量,它可以被赋值,也可以被求值。指针可以接受的值只有以下几种:
  1、编译时可求值的0值常量。(必须是0,其实就是NULL啦)
  2、类型匹配的对象的地址。(也就是用&运算符取一个变量的地址)
  3、另一对象末的下一地址。(这种用法主要用在循环里,其实当指针取这个值时,对其所指的内存进行存取往往会导致灾难)
  4、同类型的另一个有效指针(如“p=q;”)。
  其中第1点,将0值赋给指针,主要是为了有一个状态表示这个指针是“空的”。C/C++通常约定0为NULL,虽然的确存在地址为0的内存,但是别指望用指针来访问这个内存。
  初学者怎样才能消除对指针的恐惧?我觉得首要的一点是清醒地认识并且时刻提醒自己“指针也是一个变量”。比如以下两行程序:
  int i;
  int *p = &i;
  看到这儿的人几乎无一例外把p和i联系起来(这当然不是坏事),但是,我觉得更重要的是将p和i分离,心里记住,p是一个变量,该变量是有它的值的,这个值与i的唯一关系是:目前该值正好等于变量i在内存中的位置。两种情况下p与i将毫无关系:
  1、p值被改变,如“p = &j;”或“p++;”
  2、i变量被释放,如离开了i的作用域。

本站特约顾问律师常州东晟律师事务所朱立律师(电话13915029670,QQ646146109)提醒您:
本站文章皆为作者原创,其它媒体(包括但不限于报刊、杂志、网站、电视、电台)未经作者书面许可严禁转载(或部分摘录)!
发表评论
称呼:
QQ:
邮箱:
链接:
内容:
搜索: 百度搜索 Google搜索
Copyright©2000 - 2008 Eachfun.Com, All Rights Reserved 一级棒网络
苏ICP备05080156号
一级棒建站系统 http://www.eachfun.com 一级棒版权所有,未经许可不得商用!