blob: 92b677cc32a6840f63bcd3296b087dee08f95766 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
#include <stdio.h>
char *words[3];
int main(void)
{
char *pc;
char **ppc;
int i;
char *foo, *bar;
printf("multiple indirection example\n");
words[0] = "zero";
foo = "FOO";
words[1] = "one";
bar = "BAR";
words[2] = "two";
for (int i = 0; i < 3; i++)
printf("%s\n", words[i]);
printf("Print each char in each string...\n");
ppc = words;
printf("Addr of array head %p\n", words);
for (i = 0; i < 3; i ++) {
ppc = words + i;
pc = *ppc;
printf("array %d -> loc %p -> deref: %p\n", i, &words[i], *ppc);
while (*pc != 0) {
printf("addr: %p - content: %c \n", pc, *pc);
pc += 1;
}
printf("\n");
}
return 0;
}
|