Actually I don't know how to define size_t like you wrote. For example if I want to declare an array that have the number of elements larger than 2^32. How can I implement? Could you give me some sample codes?
>The largest number of elements an array can hold in C is whatever your implementation defines size_t as...
65535 bytes is the minimum size for an object, so you're guaranteed to have an array of sizeof(array)/sizeof(array) <= 65535. Beyond that you enter the realm of non-portable where hitting runtime stack limitations becomes a possibility. You're not guaranteed to have an array of size_t elements, and in practice that's very unlikely to be a successful declaration.
If you want a large array, my recommendation is to do it with dynamic memory rather than actual arrays.