您的位置:首页 > 其它

14 指针热身

2016-07-23 15:31 225 查看
指针热身: 

                    #include  <stdio.h>

                    int  main (void)

                    {

                         int  *  p ;  
//  p是变量的名字,int * 表示存放的是int变量类型的地址

                                          //  int * p ; 不表示定义了一个名字叫做 * p的变量

                                          //  int * p ; 其中票p是变量名,p变量的数据类型是int * 类型

                                              所谓int *类型实际就是存放int变量地址的类型

                         int  i = 3 ;

                       
 p = & i ;  //  正确


                         //  p = i ;  // error,因为类型不一致,p只能存放int类型变量的地址,不能存放int类型变量的值

                         //  p = 55 ;  //  error,原因同上

                         return 0;

                     }

                   ① 其中  p = & i ;  /*   1.  p保存了i的地址,因此p指向i

                                                   2.  p不是i,i也不是p,更准确的说,修改其中任何一个变量的值,都不影响对方的值

                                                   3.  如果一个指针变量指向了某个普通变量,则

                                                              * 指针变量    就完全等同于    普通变量           

                                                                例如: 如果p是指针变量 ,并且p存放了普通变量i的地址,则p指向了普通变量i,

                                                                             * p      就完全等同于     i        

                                                                             或者说,在所有出现 * p 的地方都可以替换成 i

                                                                                             在所有出现 i 
的地方都可以替换成 * p         

                                                                             * p    就是以p的内容为地址的变量

                                              */

                   ②指针就是地址,地址就是指针

                       地址就是内存单元的编号

                       指针变量是存放地址的变量

                       指针和指针变量是两个不同的概念

                       但是要注意,通常我们叙述是会把指针变量简称为指针,实际他们含义并不一样
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: