#include int main () { int x[] = {1, 2, 3}; int *ptr; ptr = x + (sizeof(x) / sizeof(x[0])) - 1; for (int i = 0; i < 3; i++) { printf("Address of var[%d] = %x\n", i, ptr ); printf("Value of var[%d] = %d\n", i, *ptr ); /* move to next element*/ ptr--; } int a[5][5][5], num = 1; for(int i = 0; i < 5; i++) { for(int j = 0; j < 5; j++) { for(int k = 0; k < 5; k++) { a[i][j][k] = num; num++; } } } //a[2][4][1] printf("Test %d\n", a[2][4][1]); printf("Test %d\n", *(*(*(a+2)+4)+1)); int r, c; printf("Enter number of rows: "); scanf("%d", &r); printf("Enter number of columns: "); scanf("%d", &c); int **arr = (int **)malloc(r * sizeof(int *)); for (int i = 0; i < r; i++) { *(arr+i) = (int *)malloc(c * sizeof(int)); } for(int i = 0; i < r; i++) { for(int j = 0; j < c; j++) { *(arr + i*c + j) = i + j; printf("%d ", *(arr + i*c + j)); } printf("\n"); } return 0; }