Quick actions

cmd+k|ctrl+k

Navigation

Languages

array2_pointers_02

Snippet info

Language

C

Visibility

public

Author

lovelaceada

Created

2019-06-09T10:47:27Z

Updated

2019-06-09T10:47:27Z

#include <stdio.h>

int main(void) {
    int a[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
    
    printf("%d %d %d %d\n",sizeof((int*)a), sizeof(a), sizeof(a[0]), sizeof(int)); // 8 48 16 4
    int i = 1;
    int j = 3;
    printf("%d %d %d %d %d\n", 
                            a[i][j],
            
                            (*(a+i))[j], 
            
                            *((int*)(a+i)+j), 
            
                            *((int*)a+i*4+j), 
            
                            *((int*)a+i*sizeof(a[0])/sizeof(int)+j) 
        );
    
    return 0;
}
INFO