我如何返回我用malloc分配的指针的大小?

dri*_*ker 2 c malloc sizeof

看这个例子!



int main( int argc, char ** argv )
{
    int *ptr = malloc(100 * sizeof (int));

    printf("sizeof(array) is %d bytes\n", sizeof(ptr));
}
Run Code Online (Sandbox Code Playgroud)

printf函数只返回4个字节!怎么了?

非常感谢!!!

unw*_*ind 8

没有错误.您要求并获得平台上指针的大小.

通常不可能获得指针所指向的内存块的大小,如果以后需要它,您必须自己记住它.