数组指针与指针数组
#include <stdio.h> int main() { int arr[4][4] ={0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15}; int i; for(i=0;i<4;i++) { printf("使用arr+i求得二维数组arr第%d行的起始地址为:%d\n",i+1,arr+i); } printf("\n"); for(i=0;i<4;i++) { printf("使用arr[i]求得二维数组arr第%d行的起始地址为:%d\n",i+1,arr[i]); } printf("\n"); for(i=0;i<4;i++) { printf("使用*(arr+i)求得二维数组arr第%d行的起始地址为:%d\n",i+1,*(arr+i)); } printf("\n"); for(i=0;i<4;i++) { printf("使用&arr[i]求得二维数组arr第%d行的起始地址为:%d\n",i+1,&arr[i]); } printf("\n"); return 0; }
#include <stdio.h> int main() { int arr[4][4] ={0,1,2,3,4,5,6,7, 8,9,10,11,12,13,14,15}; int (*p1)[4]; //数组指针 int *p2[4]; //指针数组 int i,j,k; p1 = arr; printf("使用数组指针的方式访问二维数组arr\n"); for(i=0;i<4;i++) { for(j=0;j<4;j++) { printf("arr[%d][%d]=%d\t",i,j,*((*p1+i)+j)); } printf("\n"); } printf("使用指针数组的方式访问二维数组arr\n"); for(k=0;k<4;k++) p2[k] = arr[k]; for(i=0;i<4;i++) { for(j=0;j<4;j++) { printf("arr[%d][%d]=%d\t",i,j,*(p2[i]+j)); } printf("\n"); } return 0; }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。