码迷,mamicode.com
首页 > 其他好文 > 详细

27._指针

时间:2015-04-07 15:08:34      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

指针和指针变量的关系:

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

        地址就是内存单元的编号

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

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

        但是要注意:通常我们叙述时会把指针变量简称为指针,实际它们的含义不同

 

技术分享
 1 /*
 2     2015年04月07日 13:51:21
 3     目的:
 4         指针语法
 5     
 6 */
 7 
 8 # include <stdio.h>
 9 
10 int main(void)
11 {
12     int * p; //p是变量的名字,int * 表示p变量存放的是int类型变量的地址
13     int i = 3;
14 
15     p = &i; //OK
16     //p = i; //error,因为类型不一致,p只能存放int类型变量的地址,不能存放int类型变量的值
17     //p = 55; //error,原因同上
18 
19     return 0;
20 }
21 /*
22     在VC6.0中运行结果是:
23 -----------------------------
24 
25 -----------------------------
26     总结:
27 
28 */
View Code

 

技术分享
 1 /*
 2     2015年04月07日 14:00:50
 3     目的:
 4         指针语法
 5     
 6 */
 7 
 8 # include <stdio.h>
 9 
10 int main(void)
11 {
12     int * p; 
13     /*
14         p是变量的名字,int * 表示p变量存放的是int类型变量的地址
15         int * p; 不表示定义了一个名字叫做*p的变量
16         int * p; 应该这样理解:p是变量名,p变量的数据类型是int * 类型
17         所谓int * 类型  实际就是存放int变量的地址的类型
18 
19     */
20     int i = 3;
21     int j;
22 
23     p = &i; 
24     /*
25         1. p保存了i的地址,因此p指向i
26         2. p不是i,i也不是p,更准确的说:修改p的值不影响i的值,修改i的值也不影响p的值
27         3. 如果一个指针变量指向了某个普通变量,则
28                 *指针变量  就完全等同于  普通变量
29             例子:
30                 如果p是个指针变量,并且p存放了普通变量i的地址
31                 则p指向了普通变量i
32                 *p  就完全等同于  i
33                 或者说:在所有出现*p的地方都可以替换成i
34                         在所有出现i的地方都可以替换成*p
35 
36                 *p 就是以p的内容为地址的变量
37     */
38     j = *p; //等价于 j = i;
39     printf("i = %d, j = %d\n", i, j);
40     
41 
42     return 0;
43 }
44 /*
45     在VC6.0中运行结果是:
46 -----------------------------
47 
48 -----------------------------
49     总结:
50 
51 */
View Code

 

27._指针

标签:

原文地址:http://www.cnblogs.com/houhaibushihai/p/4398130.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!