C中calloc()分配的最大大小

时间:2013-09-29 10:05:05

标签: c

在三星R& D放置测试中有一个问题: calloc分配的最大大小是多少? a)16k b)32k c)64k d)128k

我不知道正确的答案。谁能告诉我正确答案呢。

3 个答案:

答案 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