#include #include void *alloc_huge(size_t, int); int main() { //size_t n = 18400; size_t n = 3UL<<29; char *buf = alloc_huge(n, '1'); buf[0] = '1'; buf[1] = '.'; buf[n-1] = 0; printf("%.21g (%zu)\n", strtod(buf, 0), n); }