I recently asked a question here regarding the size of char. Looking at my question, it brought me to another question:
Are things like number of bits in a char or sizeof(int) CPU dependent, OS dependent, compiler dependent, or some combination of the above? Who decides the sizeof(int) in my compiler is 4?
EDIT: Let me explain: For example, my compiler on a 64bit system uses 32bit int. Is this set by the compiler or by the OS to be the standard int for all compilers on this (exact) OS/platform combination? How about char = 8 bits? Can a OS decide it is going to use 16bit chars? Can a compiler?