malloc()
does not use memory. It allocates it.
After you allocate the memory, use it by assigning some data.
size_t Size = 256 * 1024 * 1024;
p = malloc(Size);
if (p != NULL) {
memset(p, 123, Size);
}
Some platforms implement malloc()
is such a way that the physical consumption of memory does not occur until that byte (or more likely a byte within a group or “page” of bytes) is accessed.
calloc()
may or may not truly use the memory either. A system could map lots of memory to the same physical zeroed memory, at least until the data gets interesting. See
Why malloc+memset is slower than calloc?