const int MAX = 3;
int main()
{
int var[] = {10,100,1000};
int i,*ptr;
ptr = var;
printf("var top of: %p\n", var);
for(i = 0 ; i < MAX; i++)
{
printf("insert local of: var[%d] = %p\n", i, ptr );
printf("insert value is: var[%d] = %d\n", i, *ptr );
/* 指向下一个位置 */
printf("ptr top of: var[%d] = %p\n", i, ptr);
ptr++;
printf("ptr button of: var[%d] = %p\n", i, ptr);
}
printf("var button of: %p\n", var);
return 0;
}
var top of: 000000000061FE04
insert local of: var[0] = 000000000061FE04
insert value is: var[0] = 10
ptr top of: var[0] = 000000000061FE04
ptr button of: var[0] = 000000000061FE08
insert local of: var[1] = 000000000061FE08
insert value is: var[1] = 100
ptr top of: var[1] = 000000000061FE08
ptr button of: var[1] = 000000000061FE0C
insert local of: var[2] = 000000000061FE0C
insert value is: var[2] = 1000
ptr top of: var[2] = 000000000061FE0C
ptr button of: var[2] = 000000000061FE10
var button of: 000000000061FE04
指针是添加了一个对于指定内存地址的别名,原本var 指像的地址, 现在通过指针 ptr 也指向了这个地址, 但是var 读取地址的时候 还是指向该地址, 所以我认为 指像的修改不是重定向,而是添加了一个指向该地址的别名
叨叨几句... NOTHING