在三星R& D放置测试中有一个问题: calloc分配的最大大小是多少? a)16k b)32k c)64k d)128k
我不知道正确的答案。谁能告诉我正确答案呢。
答案 0 :(得分:7)
这是一个无意义的问题,因为它高度依赖于系统。没有一个答案是对的;有一个系统,你可以calloc()
兆字节和千兆字节的内存。
答案 1 :(得分:1)
理论上最大值是可以请求的值。对于
void *calloc(size_t nmemb, size_t size);
即:
nmemb * size
SIZE_MAX * SIZE_MAX
SIZE_MAX
的限制为size_t
。
但由于size_t
运算符是sizeof
运算符的结果, theoratical 最大值仅限于SIZE_MAX
。
答案 2 :(得分:0)
它与您的编译器和您的机器架构有关,例如:
int = 2 byte in some machine
int = 4 bye in some machine