数组与指针的结合

2021-05-30 18:05

阅读:571

标签:img   优先   优先级   取数   取值   argc   mic   image   http   

1.

int main(int argc, char const *argv[])
{
    int arr [5] = {0,1,2,3,4};

    int *p1 = &arr[0]; //P1指针表示指向arr数组的首地址
    int *p2 = arr;     //P2是数组首元素的地址

    printf("%d\n",*p1);//取数组首元素的值
    printf("%p\n\n",p1); //获取数组的地址值

    printf("%d\n",*(p1 +1));//小括号优先级高,指针移动一个int的位置,然后取值
    printf("%d\n",*p1 +10);//*优先级高,先获取数组的首元素的值为0,然后再+10
    printf("%d\n\n",*(p1 +10));//指针越界,指针移动10个int到了未知的地址,获取到随机值

    printf("%p\n",p2 );
    printf("%p\n",p2 +1);//指针移动一个int
    printf("%d\n",*p2 +1);//*p2获取到数组的第一个元素的值,为0;再+1等于1

    return 0;
}

技术图片

数组与指针的结合

标签:img   优先   优先级   取数   取值   argc   mic   image   http   

原文地址:https://www.cnblogs.com/hyxk/p/14747881.html


评论


亲,登录后才可以留言!