如何在C中提取指针大小

Mah*_*hdy 1 c size pointers

我有这样的代码:

int main()
{
    double *u;
    int len;
    u=(double *)malloc(sizeof(double)*10);
    len = sizeof(u);
    printf("Length Of Array = %d\n", len);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但长度是 4 而不是 10。我如何从指针 u 中提取 10?!请帮助我谢谢

Bat*_*eba 5

那是你的工作。C 没有提供一种可移植的方式来知道给定一个指针,已经分配了多少内存。

sizeof会给你的sizeof(double*),仅此而已。那是你系统上的 4。