指针 无符号长整型 unsigned long
初学者 一定要叫其全名 指针变量
指针是什么
指针 说全点 就是 指针变量,和其他变量一样,能存储数据,但是他里面存储的是内存中的一个地址。
指针就是与内存中的一个地址相关联,来对这个地址中的数据进行相应的操作。
拿宾馆来说,指针就是存储着门牌号,我可以根据这个门牌号到了门口,
那么*指针(对指针进行解引用)是干嘛呢?就是打开这个门牌号所对应的门,对内部进行操作。
指针与整数相加
就是拿指针存储的地址的值+n*sizeof(目标类型)
int nArr[20];
int *p = nArr;
p+1;
p里面存储的是数组的首地址nArr[0]的地址,那么p+1就会指向nArr[1]
跨越了sizeof(int)
两个指针相减
两个目标类型不同的指针不能相减
两个指针相减的结果是 两个指针中所存储的地址的差/sizeof(目标类型) 返回值是int
double a;
int *p;
double b;
double *p1 = &a;
double *p2 = &b;
printf("%d\n",p1-p2);
//结果是1
double a;
int *p;
int *pp;
double b;
double *p1 = &a;
double *p2 = &b;
printf("%d\n",p1-p2);
//结果是2