数组名和数组名取地址的区别

    xiaoxiao2022-06-28  207

    直接上demo,代码如下:

    int main() {     int arr[10];     printf("%d \n", &arr);    //7338716     printf("%d \n", arr);     //7338716     printf("%d \n", &arr[0]);   //7338716 } 在上面的代码中,打印出来的结果都是一样的。但是指针的类型是不一样的

    &arr的是指向数组的指针

    而arr和&arr[0]则是指向数组首元素的指针。

    以下代码可以证明:

    int main() {     int arr[10];     printf("%d \n", &arr+1);      //15726500     printf("%d \n", arr+1);      //15726464     printf("%d \n", &arr[0]+1);  //15726464 }

    至于对指针加1的理解

    参考这篇文章:

    https://blog.csdn.net/Think88666/article/details/90437703


    最新回复(0)