标签:
指针是内存单元的 编号,地址就是指针。一句话通过指针和指针变量 可以在不同函数间 间接 对数据进行操作
int * p:p是变量名,p变量的数据类型是int * 类型,所谓int * 类型实际就是存放int变量地址的类型,不表示定义了一个名字叫*p的变量
&i: & 取地址运算符,这里指取i 的地址
*p:* 取地址变量所指向的实际地址里存放的数据
#include <stdio.h> int main(void) { int * p; //p是变量的名字,int * 表示p变量存放的是int类型变量的地址 //int * p:不表示定义了一个名字叫做*p的变量 //int * p:p是变量名,p变量的数据类型是int *类型,即int * 类型实际就是存放int变量地址的类型 int i = 3; p = &i; /* 1.p保存了i的地址,因此p指向i;; 2.p不是i,i也不是p,更准确的说:修改p的值不影响i的值,修改i的值也不会影响p的值 *+指针变量 就完全等同于 普通变量 */ printf("%d\n", *p); return 0; } /* 输出结果: 3 */
内存图:
总结:指针是c语言的灵魂。
cpu与内存条交互过程:
cpu与内存条通过地址总线的交互过程图:
标签:
原文地址:http://www.cnblogs.com/guDouMaoNing/p/4306656.html