常量指针和指针常量

  • 指针常量:本质是指针,但是指向常量,也就是可以改变指向,但是不可以改变指向的值
    -常量指针:本质是指针,但是是常量的指针,不可以改变指向,但是可以改变指向的值

a和&a有什么区别?

int a[10]; 
int (*p)[10] = &a
  • a是数组名,是数组首元素地址,+1表示地址值加上一个int类型的大小,如果a的值是0x00000001,加1操作后变为0x00000005。*(a + 1) = a[1]。
  • &a是数组的指针,其类型为int (*)[10](就是前面提到的数组指针),其加1时,系统会认为是数组首地址加上整个数组的偏移(10个int型变量),值为数组a尾元素后一个元素的地址。
posted @ 2023-02-20 14:09  小秦同学在上学  阅读(14)  评论(0编辑  收藏  举报