指针的运算 详解 [C语言必知必会]
指针的运算
指针加减 常量
请看下面的程序,猜测一下结果:
int main() {
int arr[10] = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int* a = &arr;
printf("a = %p\n", a);
printf("a + 1 = %p\n", a + 1);
printf("a - 1 = %p\n", a - 1);
}
运行结果:
a = 00AFF82C
a + 1 = 00AFF830
a - 1 = 00AFF828
可以看到, a 与 a + 1 和 a - 1 都差了四个字节
指针加减常量 加减的大小为
sizeof(类型) * 常量
再试试 char 类型?
int main() {
char arr[10] = {
' 1', '2', '3', '4', '5', '6', '7', '8'