一.指针加(减)数字
指针+(-) 1,指针向前(向后)移动一个单元格
指针加(减)数字,指针需要调整,而调整的权重为:数字*sizeof(指针去掉一个*)
int arr[10]; 假设arr首地址为x
int *p=&arr; //p==&arr[0] p==x;
p++; //p==&a[1] p==x+1*sizeof(int)
例:
加法练习:
int main()
{
int *p = (int *)2000;
printf("%d\n",p+4);//2016
printf("%d\n",(short *)p+4);//2008
printf("%d\n",(double *)p+4);//2032
printf("%d\n",(float **)p+4);//2016
printf("%d\n",(unsigned short *)p+4);//2008
printf("%d\n",(long *)p+4);//2016
printf("%d\n",(char *)p+4);//2004
printf("%d\n",(unsigned long long)p+4);//2004
return 0;
}
减