c - 分配随机数c 中的字节数

标签 c memory-management dynamic-memory-allocation

如何动态分配随机数? C 中的字节数?

(比如说)我想分配 10 GB 内存,我该怎么做以及这里使用哪个函数更好,如 malloc、realloc 或 calloc(因为我不知道他们之间的差异)。

另外,我可以在分配的内存中放入任何类型的数据(并且整个数据应该是同一类型吗?)?

最佳答案

C 中有四个相关函数:

void *calloc(size_t nmemb, size_t size);
void *malloc(size_t size);
void free(void *ptr);
void *realloc(void *ptr, size_t size);

函数malloc()分配size字节。函数calloc()分配nmemb*size字节(即,它为由nmemb元素组成的数组分配内存;该函数还清除分配的内存)。函数realloc()更改分配 block 的大小。并且 free() 将内存返回给系统。

关于c - 分配随机数c 中的字节数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24384583/

相关文章:

c - 地址边界错误

C++:抽象指针的映射似乎正在切片到抽象类

c++ - Objective-C:如果我在 ARC 的函数中返回一个 C++ 对象,它会创建一个拷贝吗?我是否必须手动释放该拷贝?

c - 如何在C中动态地在数组的最后一个位置插入一个元素?

C++:派生类对象被析构时释放动态内存

c - 缺少原型(prototype)错误

c - 在 child 返回之前获得返回状态而不会卡住

C - 如何检查是否有用户输入

c - 尝试使用 snprintf 添加两个字符串时出现错误

c++ - 合成析构函数是否会破坏堆上分配的内存?