Dienstag, 22. September 2015

指针变量

当然,我们也可以设置一个变量来存放变量的地址(变量的指针)

1:指针变量:专门用于存放指针(某个变量的地址)的变量;指针变量也是变量,是变量就有地址;

理解: 0x0012FF74            76               C
      ( C 的地址  )    (变量C的内容 )       (变量名字)

现在定义一个指针变量Pointer 来存放 变量C 的地址

    0x0012FF90             0x0012FF74        Pointer
  ( Pointer的地址)  ( 指针变量Pointer的内容)  ( 指针变量的名字)
                   就是变量C 的地址

Pointer叫做指向变量c的指针变量(也就是指针变量Pointer 放的是变量c的地址) 

2:如何定义指针变量:int *pointer;(*:表示指针运算符说明pointer的类型,pointer:指针变量的名字, int 表示指针变量的基类型(基类型:指针变量指向的变量的类型,指针变量指向的那片区域的类型) 比如上面一个列子:int *pointer中的int指的就是变量c的类型(76是int 型)


3: 如何给指针变量赋值:int c = 76;
               int *pointer;
               pointer = &c;//将变量c的地址赋值给指针变量pointer;
                       //赋值后,称指针变量指向了变量c;
(注意不能写成 pointer = c,因为pointer是存放地址的变量,所以只能存放地址)


4:指针变量的使用:可以通过指针变量访问它所指向的变量;也利用指针运算符*实现;
                   例如:int c = 76;
                       int *pointer = &c;

则*pointer为pointer所指向的存储单元的内容;这个内容指的是变量c;所以 *pointer 可以当变量c 使用。*pointer指的不是变量c的内容76;
                 
在《指针》的blog里面,cout<<*&c<<endl;和cout<<c<<endl是等价的。也就是*pointer 和变量c是等价的。(*pointer = *&c =c)    

指针变量包含两个意思:一是以存储单元编号表示的地址,一是它指向的储存单元的数据类型。  

                      

Keine Kommentare:

Kommentar veröffentlichen