标签:
指针和指针变量的关系:
指针就是地址,地址就是指针
地址就是内存单元的编号
指针变量是存放地址的变量
指针和指针变量是两个不同的概念
但是要注意:通常我们叙述时会把指针变量简称为指针,实际它们的含义不同
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 */
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 */
标签:
原文地址:http://www.cnblogs.com/houhaibushihai/p/4398130.html