2 数组和指针的关系
//找出数组中最大值,数组和指针的关系 #include <stdio.h> int max( int *, int ); main() { int Largest; int a[5] = { 1,3,4,11,2 }; int* pa = a; //a本身就是地址;不能用&a ,是二次指针 //printf("%x\n", &a); //a取地址==a[0]取地址==pa //printf("%x\n", &a[0]); //printf("%x\n",pa); //printf("*pa=%d\n", *pa); // 1 //printf("*pa+1=%d\n", *pa + 1); // 2 //printf("*(pa+1)=%d\n", *(pa + 1)); // 3 //Largest= max(pa,5); //以下4个等效 //Largest = max(a, 5); Largest = max(&a, 5); //Largest = max(&a[0], 5); printf("%d", Largest); } int max(int *p,int n) // 同 int max(int a[], int n) ,*p=a { //printf("%d %d %d \n", *p,*(p+1),*(p+2)); int i, max=*p; for (i = 0; i < n; i++) { if (max < *(++p)) max = *p; } return max; }