Untitled
public
Mar 08, 2025
Never
39
1 #include <stdio.h> 2 void show_int_array(int [], int); 3 int main(void) 4 { 5 int arr[4] = {100, 200, 300, 400};//assume arr is at 0022FF60 6 int *ptr1, *ptr2;//assume ptr1 and ptr2 are at 0022FF5C and 0022FF58 7 ptr1 = arr;//points to arr[0]==100 8 ptr2 = &arr[3];//points to arr[3]==400 9 10 printf("&ptr1:%p, ptr1:%p, *ptr1:%d\n", &ptr1, ptr1, *ptr1); 11 printf("&ptr2:%p, ptr2:%p, *ptr2:%d\n\n", &ptr2, ptr2, *ptr2); 12 13 show_int_array(arr, 4); 14 15 ptr1++; *ptr1 = 201; 16 ptr2--; *ptr2 = 301; 17 18 printf("\nAfter ptr1++, ptr2--, "); 19 printf("*ptr1 = 201, *ptr2 = 301\n"); 20 21 printf("&ptr1:%p, ptr1:%p, *ptr1:%d\n", &ptr1, ptr1, *ptr1); 22 printf("&ptr2:%p, ptr2:%p, *ptr2:%d\n\n", &ptr2, ptr2, *ptr2); 23 24 show_int_array(arr, 4); 25 26 return 0; 27 } 28 void show_int_array(int a[], int n) 29 { 30 int *ip; 31 for (ip = a; ip < (a+n); ip++) { 32 printf("| %p ", ip); 33 } 34 printf(" |\n"); 35 for (ip = a; ip < (a+n); ip++) { 36 printf("| %8d ", *ip); 37 } 38 printf(" |\n"); 39 }