1 /*
2 *
pointermatrixvar.c
3 *
4 * Beispiel-Programm Matrix als Array von Zeigern.
5 * Siehe zum Vergleich matrixpointer.c
6 *
7 * Autor: H.Drachenfels
8 * Erstellt am: 12.8.2020
9 */
10
11 #include <stdio.h>
12 #include <stdlib.h>
13
14 int main(void)
15 {
16 int line_0[] = {10, 11, 12};
17 int line_1[] = {20, 21, 22};
18 int *matrix[] = {line_0, line_1};
19 const int n = sizeof matrix / sizeof *matrix;
20 const int m = sizeof line_0 / sizeof *line_0;
21
22 //-------------------------------- print matrix addresses and values
23 printf("&matrix = %p\n", (void*) &matrix);
24 printf("matrix = %p\n", (void*) matrix);
25
26 for (int i = 0; i < n; ++i)
27 {
28 printf("[%d] %p: %p\n", i, (void*) &matrix[i], (void*) matrix[i]);
29
30 for (int j = 0; j < m; ++j)
31 {
32 printf(" [%d] %p: %d\n", j, (void*) &matrix[i][j], matrix[i][j]);
33 }
34 }
35
36 return 0;
37 }
38