首页 > 编程语言 > 详细

指针数组和数组指针

时间:2020-09-28 10:25:49      阅读:22      评论:0      收藏:0      [点我收藏+]
int main(){ int arr1[] = { 1, 2, 3, 4, 5 }; int arr2[] = { 2, 3, 4, 5, 6 }; int arr3[] = { 3, 4, 5, 6, 7 }; int * parr[] = { arr1, arr2, arr3 }; int i = 0; for ( i = 0; i < 3; i++) { char j = 0; for ( j = 0; j < 5; j++) { printf(" %d", *(parr[i] + j)); //由于数组存到内存中存的是首元素地址, //所以说存在parr[]指针数组中的arr1~其实都是首元素地址 //指针运算+1, 就能跳到第二个元素中了 parr[1]+1 } printf("\n"); } return 0; } int main() { char a[] = { 1, 2, 3, 4, 5, 6 }; char b[] = { 2, 3, 4, 5, 6, 7 }; char* arr[5] = {a, b}; //arr优先和[5]结合形成数组,类型是char*, //所以说这是个指针数组 //存放指针的数组叫指针数组 //存放数组的指针叫数组指针 char* (*p)[5] = &arr; //(*p)指的是让*先和P结合变成个指针, //然后解出来与[5]结合形成数组指针.类型是char* int i = 0; for ( i = 0; i < 2; i++) { int j = 0; for ( j = 0; j < 6; j++) { printf("%d", *(*p)[i] + j); } printf("\n"); } return 0; }

指针数组和数组指针

原文:https://blog.51cto.com/14893161/2537842

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!