怎样知道一个动态获取的内存空间实际上有多大?
怎样知道一个动态获取的内存空间实际上有多大?
看书上好像是说:动态获取的内存空间一般都比实际的空间要大一些。
但是我想知道我获取的空间到底比我实际想要分配的空间大多少呢?
要怎么做才可以知道,这块动态分配的内存空间的实际的大小呢?
例如:如下的函数,利用malloc分配一个500个字节的空间。我怎么知道它实际占多少空间呢?
#include <stdio.h>
#include <stdlib.h>
main()
{
void *a;
a=malloc(500);
if (a!=NULL)
{
printf("%d\n",sizeof(a));//用这个是看不出来它实际所占的空间数量的。
}
}
要怎么才可以看到呢?另外,那部分多出来的空间是做什么用的啊?