#include <stdio.h> void main() { //变量在内存中是占有一块存储空间的,变量的值就放在这块存储区域之内 int i=100, j=50; /*定义一个指针变量,*表示该变量为指针变量,而类型标识符int表示该指针变量所指向的变量的类型*/ int *ip; /* &i的类型是指向整型变量i的指针(指针是一种数据类型) &i的值是整型变量i的地址(通常情况下,我们习惯将指针认为成地址,实际上这是两个不同的术语) i变量的指针是ip,ip的值是整型变量i的地址 */ ip=&i; printf("j是:%d/n", j); //*ip代表ip所指向的变量 j=*ip; printf("j是:%d/n", j); } #include <stdio.h> void main() { int i,j,*p1,*p2; i='a'; j='b'; //p1是指向i的指针 p1=&i; //p2是指向j的指针 p2=&j; //p1,p2指向同一变量i,此时*p2等价于i,而不是j //此时p1和p2的值都是变量i的地址 p2=p1; printf("p1的值是%d/n",p1); printf("p2的值是%d/n",p2); printf("================/n"); p1=&i; p2=&j; //将p1指向的内容赋给p2指向的内容 //此时p1的值是i的地址,p2的值还是j的地址 //通过*p1,*p2简介访问i,j *p2=*p1; printf("p1的值是%d/n",p1); printf("p2的值是%d/n",p2); }