指针专题
2016-09-26 23:23:42
(这几天被指针虐的死去活来,先小小总结一下吧!)
- 指针就是地址,地址就是指针
- 地址就是内存单元的编号
- 指针变量是存放地址的变量
- 指针和指针变量是两个不同的概念,经常大家把指针变量简称为指针,实际它们的含义不一样
EX:
#include<stdio.h>
int main(void)
{
int * p;
int i =4;
p=&i;
printf("%d\n", *p);
return 0;
}
解释:
int p; // p是变量的名字,int 表示p变量存放的是 int类型变量的地址,而并不是定义了一个名字叫做 *p的变量
p是变量名,p变量的数据类型是 int *类型
所谓 int *类型实际就是存放int 变量地址的类型
p = &i;
- p保存了i的地址,因此p指向i
- p不是i,i也不是p,修改各自的值不会影响
- 如果一个指针变量指向了某个普通变量,则 *指针变量就完全等同于普通变量,即 *p = i;
若p是个指针变量,并且p存放了普通变量i的地址,则p指向了普通变量i,
*p = i (*p就是已p的内容为地址的变量)
未完待续 …