Why when we allocating memory block using (ma|re|c)alloc we use sizeof([count *] primitive data type)?
E.g.
Instead ofCode:int *a = malloc(5 * sizeof(int)); //allocating 5 blocks of int
But, I'm not talking aboutCode:#define INT_SIZE 4 int *a = malloc(5 * INT_SIZE);
Is there possibility that sizeof(int) could be changed to (for example) 2 or 16?Code:#define int char