#include <stdio.h>
int main( ) {
int * A[ 2 ] ;
int B[ 2 ] [ 2 ] ;
int ** C;
puts ( "Type of A - int *[2], type of B - int [2][2], type of C - int **" ) ; puts ( "int *[2] != int [2][2]" ) ; printf ( "sizeof(int *[2]) == %2d, sizeof(int [2][2]) == %2d, sizeof(int **) == %2d\n " , sizeof ( A) , sizeof ( B) , sizeof ( C) ) ;
printf ( "sizeof(int *) == %2d, sizeof(int [2]) == %2d, sizeof(int *) == %2d\n " , sizeof ( * A) , sizeof ( * B) , sizeof ( * C) ) ;
printf ( "sizeof(int) == %2d, sizeof(int) == %2d, sizeof(int) == %2d\n " , sizeof ( ** A) , sizeof ( ** B) , sizeof ( ** C) ) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpIHsKICAgIGludCAqQVsyXTsKICAgIGludCBCWzJdWzJdOwogICAgaW50ICoqQzsKICAgIHB1dHMoIlR5cGUgb2YgQSAtIGludCAqWzJdLCB0eXBlIG9mIEIgLSBpbnQgWzJdWzJdLCB0eXBlIG9mIEMgLSBpbnQgKioiKTsKICAgIHB1dHMoImludCAqWzJdICE9IGludCBbMl1bMl0iKTsKICAgIHByaW50Zigic2l6ZW9mKGludCAqWzJdKSA9PSAlMmQsIHNpemVvZihpbnQgWzJdWzJdKSA9PSAlMmQsIHNpemVvZihpbnQgKiopID09ICUyZFxuIiwKICAgICAgICAgICBzaXplb2YoQSksIHNpemVvZihCKSwgc2l6ZW9mKEMpKTsKICAgIHByaW50Zigic2l6ZW9mKGludCAqKSAgICA9PSAlMmQsIHNpemVvZihpbnQgWzJdKSAgICA9PSAlMmQsIHNpemVvZihpbnQgKikgID09ICUyZFxuIiwKICAgICAgICAgICBzaXplb2YoKkEpLCBzaXplb2YoKkIpLCBzaXplb2YoKkMpKTsKICAgIHByaW50Zigic2l6ZW9mKGludCkgICAgICA9PSAlMmQsIHNpemVvZihpbnQpICAgICAgICA9PSAlMmQsIHNpemVvZihpbnQpICAgID09ICUyZFxuIiwKICAgICAgICAgICBzaXplb2YoKipBKSwgc2l6ZW9mKCoqQiksIHNpemVvZigqKkMpKTsKICAgIHJldHVybiAwOwp9Cg==
stdout
Type of A - int *[2], type of B - int [2][2], type of C - int **
int *[2] != int [2][2]
sizeof(int *[2]) == 8, sizeof(int [2][2]) == 16, sizeof(int **) == 4
sizeof(int *) == 4, sizeof(int [2]) == 8, sizeof(int *) == 4
sizeof(int) == 4, sizeof(int) == 4, sizeof(int) == 4