>> I'm surprised. I'd assumed that, under 16-bit DOS/Windows, a size_t would >> be 16 bits. But no. Could memory blocks 64K or larger actually be >> allocated under those systems?
size_t being the typeof sizeof() expressions, tell you the upper bound for the size of static arrays, statically allocated: sizeof(buffer)/sizeof(int) has to be representable in a size_t. It tells you nothing else. What you can allocate dinamically depends on the architecture and how it lets you address it. 16bit intel had 16bit segments and offsets, so memory was segmented and you couldn't address more than 64kb at a time. So you couldn't have grabbed^H^H"allocated" more than 64kb in real mode in intel in a single linear block. --jm
