#include <stdio.h>
#include <stdlib.h>
 
#define ARRAYSIZE(arr) ((sizeof(arr) != sizeof(&arr[0])) ? \
                       (sizeof(arr)/sizeof(*arr)) : \
                       -1+0*fprintf(stderr, "\n\n** pointer in ARRAYSIZE !! **\n\n"))

int main(void) {
	
	int test[12];
	int* test2 = malloc(12*sizeof(int));
	
	printf("size = %d\n", ARRAYSIZE(test));
	printf("size = %d\n", ARRAYSIZE(test2));
	
	free(test2);
	
	return 0;
}
