#include <stdio.h>

int main(void) {
int val1 = 1000;
int val2 = 2000; 
int val3[2] = {3000, 4000}; 


int *b[3]; 


*(b+0)= &val1; 
*(b+1) = &val2; 
*(b+2) = val3; 

//Prints 1000 
//Prints what the first element of b is pointing at
printf("%d\n",b[0][0]); 
printf("%d\n",**(b+0) ); 

//Prints 2000
printf("%d\n", b[1][0] ); 
printf("%d\n",**(b+1) );

//Prints 3000
printf("%d\n", b[2][0] );  
printf("%d\n", **(b+2)  );  

//Should print 4000 i think, but prints 2000, why? 
printf("%d\n", b[2][1] );  
printf("%d\n", *(*(b+2)+1)  );
	return 0;
}
