43 lines
		
	
	
		
			951 B
		
	
	
	
		
			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++;
 | |
|     // }
 | |
| } |