該程序正確打印所有陣列輸出。但是這個程序是如何工作的?爲什麼我們在這裏需要地址s[i]
?如何處理數組指針?
#include <stdio.h>
int main(){
int s[4][2] = {{1234,1},{1233,2},{1232,3},{1331,4}};
int (*p)[2];
int i,j,*pint;
for(i=0;i<4;++i){
p = &s[i];
pint = (int*)p;
printf("\n");
for(j=0;j<=1;++j)
printf("%d ",*(pint+j));
}
return 0;
}
請在這裏內嵌這段代碼,它不是很長。 – Mat
爲了回答你的問題,坦率地說,它根本不需要。代碼的作者顯然不喜歡雙重索引,展示了使用指針或其他原因的不同方法。 –
我只是想知道這個東西是如何工作的。 –