指针的定义
一般来说,内存单元的地址称为指针;用来存放地址的变量,称作指针变量;
代码:int i,*p;
p=&i;
上面第一行代码表示定义一个int类型的指针变量,当然下面一行取地址也需要定义为int类型;p=&i表示取到i的地址,*p则表示指向取到的I的地址,即表示地址中的的数据。
指针定义时要注意野指针或者空指针的错误:
int *p=NULL;
printf(“%d\n”);
此两行代码的错误是指针里面无数据,输出结果无显示;
int *p;
printf(“%d\n”,*p);
此两行代码的错误是指针并没有指向某个地址,因此拿不到数据;
正确的写法为:
int i,*p;
i=4;
p=&i;
printf("*p=%d\n",p);
代码第四行:p=&i;p指向i的地址,i地址里面的数据是i=4;所以p数据就是4.