「C語言」「算法」訪問數組的多種方式,c語言數組排序算法
1 #include <stdio.h>
2
3 //分別用數組名和指針變量,以下標法和指針法輸入和輸出數組的所有元素
4
5 int main(){
6 int i=0;
7 int array[6];
8 int *p=array;
9 printf("\n Please input array[6]: \n");
10 while(p<(array+6))
11 scanf("%d",p++);
12 printf("\n Output array[i]: \n");
13 for(i=0;i<6;i++)/* (1)數組名,下標法 */
14 printf("%d,",array[i]);
15 printf("\n Output *(array+i): \n");
16 for(i=0;i<6;i++)/* (2)數組名,指針法 */
17 printf("%d,",*(array+i));
18 printf("\n Output p[i]: \n");
19 p=array;
20 for(i=0;i<6;i++)/* (3)指針變量,下標法 */
21 printf("%d,",p[i]);
22 printf("\n Output *(p+i): \n");
23 for(i=0;i<6;i++)/* (4)指針變量,指針法 */
24 printf("%d,",*(p+i));
25 printf("\n Output *p++: \n");
26 while(p<(array+6))/* (5)指針變量,指針法,效率最高 */
27 printf("%d,",*p++);
28 printf("\n");
29 return 0;
30 }
1 #include <stdio.h>
2
3 //輸出二維數組的分數組和元素的地址
4
5 int main(){
6 int i=100,j=200,k=300;
7 int b[3][5]={{31,32,33,24,25},{16,17,8,9,10},{19,11,51,14,15}};
8 printf("&i=%X &j=%X &k=%X\n",&i,&j,&k);
9 printf("b=%X b+1=%X b+2=%X\n",b,b+1,b+2);
10 printf("b[0]=%X b[0]+1=%X b[0]+2=%X\n",b[0],b[0]+1,b[0]+2);
11 printf("b[1]=%X *(b+1)=%X &b[1][0]=%X\n",b[1],*(b+1),&b[1][0]);
12 printf("b[2][4]=%d *(*(b+2)+4)=%d\n",b[2][4],*(*(b+2)+4));
13 return 0;
14 }