C语言基础语法第六章指针 demo7_指针偏移遍历数组
#include <stdio.h>
int main()
{
int arr[8] = {1,2,3,4,5,6,7,8};
int *p;
int len;
p = arr;//数组名就是数组的首地址
len = sizeof(arr)/sizeof(arr[0]);
for (int i = 0;i<len;i++){ //*(p+i)取地址对应的值
printf("addrss:0x%p,%d\n",(p+i),*(p+i));//注意:p+i不是地址+1,是地址向下偏移一位
}
//补充:下面这种写法也是正确的
/*
for (int i = 0;i<len;i++){
printf("addrss:0x%p,%d\n",(p++),*(p++));//
printf("addrss:0x%p,%d\n",(p),*(p));
p++;
}
p = arr; //p++使用了一次,在次使用就需要给p重新指向首地址
for (int i = 0;i<len;i++){
printf("addrss:0x%p,%d\n",(p++),*(p++));
}
*/
return 0;
}