码迷,mamicode.com
首页 > 编程语言 > 详细

数组与指针的结合

时间:2021-05-24 03:11:50      阅读:0      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!