本质
指针的本质:存地址的变量。
定义指针
方法:要指向的类型+*+变量名,例如:
int a=100;
int* p=&a;
p变量里存的就是a的地址,所以p=&a,*p=*&a=a。
#include<stdio.h>
int main()
{
int a = 100;
int* p = &a;
printf("%p", p);
printf("%p", p + 1);//指针向后偏移一个单位
return 0;
}
由偏移输出结果(相差4个字节)可知:指针偏移取决于指针指向的类型。
判断变量的类型:去掉变量名剩下的就是类型,例如:
int a=100;//去掉变量名剩下的为int,所以他就是int类型的
int* p//去掉变量名剩下的为int*,所以他是int*类型
判断指针指向的类型:去掉变量名再去掉一个*,剩下的就是指针指向的类型,例如:
int* p//去掉变量名p,再去掉一个*,剩下的为int,所以指针指向的类型为int
注意
不要操作不属于本程序的内容;
定义指针时*要与变量名先结合(注意运算符优先级);
当一个指针不知道指向哪里时,就指向空,写为:int* p=NULL;