qfedu-c-level/day10/d4.c

43 lines
951 B
C

#include <stdio.h>
#include <stdint.h>
int main()
{
int a[2][3] = {1, 2, 3, 4, 5, 6};
int(*p)[3] = a;
int **q = &p;
int i = 0;
// while (i < 2)
// {
// int j = 0;
// while (j < 3)
// {
// // printf("%d ", *(p[i] + j));
// printf("%d ", *(*(p + i) + j));
// j++;
// }
// printf("\n");
// i++;
// }
printf("q = %lu\n", q);
printf("*q = %lu\n", *q);
printf("(*q + 1) = %lu\n", (*q + 1));
printf("(*q + 1) - *q = %lu\n", (uintptr_t)(*q + 1) - (uintptr_t)*q);
printf("*(*q + 1) = %lu\n", *(*q + 5));
printf("--------------------");
printf("\n");
printf("**q = %lu\n", **q);
printf("*(*q + 1) = %lu\n", *(*q + 1));
printf("p = %lu\n", p);
printf("&p = %lu\n", &p);
printf("&p + 1 = %lu\n", &p + 1);
// while (i < 6)
// {
// printf("%d ", *(*q + i));
// i++;
// }
}