C/C++ 学习笔记 指针

发布于 2021-06-15  2.91k 次阅读


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 读取地址的时候 还是指向该地址, 所以我认为 指像的修改不是重定向,而是添加了一个指向该地址的别名


公交车司机终于在众人的指责中将座位让给了老太太