例子一:
#include<stdio.h>int main() {int i=10;int * p=&i; //p是个变量名字,int * 表示该p变量只能存储int类型变量的地址。//int *p=&i;等价于 int *p; p=&i;//p存放了i的地址,p指向i,*p就是i变量本身printf("%d\n",p);// 1245052printf("%d\n",*p); // 10return 0; }
例子二:
#include<stdio.h>void f(int i) {i=100; } int main() {int i=9;f(i);printf("i=%d\n",i);//i=9return 0; }
例子三:
#include<stdio.h>void f(int *p) {/* void f(int *p) 不是定义了一个名字叫做*p的形参,而是定义了一个名字叫做p的形参,它的类型为int * ,只能存储int类型变量的地址*/*p=100;//*p和变量i都指向的同一个内存地址。 } int main() {int i=9;f(&i);printf("i=%d\n",i);//i=100return 0; }