数组与指针的结合
2021-05-30 18:05
标签:img 优先 优先级 取数 取值 argc mic image http 数组与指针的结合 标签:img 优先 优先级 取数 取值 argc mic image http 原文地址:https://www.cnblogs.com/hyxk/p/14747881.html1.
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;
}
上一篇:Java高级程序员技能书