有没有想过,给指针做一些运算。
给指针+1是什么情况?
指针 + 1 = 指针地址值 + 类型占用的字节数
结论:指针可以加上一个整数
得到的还是一个地址
公式:指针 + n = 指针地址 + n * sizeof(指针的类型);
例: int num = 10;//地址是0x11
int *p = #
p+4; //等于0x21
0x11 + 4 * sizeof(int);
0x11+ 4*4;
0x11+16 = 0x21;
指针既然可以跟整数相加,那么能不能减去一个整数??
得到的也是地址:
公式: 指针 - n = 指针 - n * sizeof(类型);
指针可以跟整数只能做加减,不能做乘、除、取余
|
|