G

Untitled

public
Guest Mar 08, 2025 Never 39
Clone
C example.c 39 lines (32 loc) | 1.01 KB
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
}