编辑代码

#include <stdio.h>
int main () 
{
    int arr[5] = {1,2,3,4,5};

    printf("%p\n", arr);
    printf("%p\n", arr + 1);
    printf("%p\n", &arr);    
    printf("%p\n", &arr + 1);
    //虽然整个数组的地址和数组首元素的地址是一样的,但是加一之后移动的字节是不同的,本质上是因为数据类型的不同导致的。
    //arr的数据类型:int * ,&arr的数据类型是 int(*)[5]

    int var=10;
    int *p=&var;
    printf("var 变量地址为: %p\n",p);
    printf("*p变量存储的值: %d\n",*p);

    

    return 0;
}