首页 > 解决方案 > 如何在C中提取指针大小

问题描述

我有这样的代码:

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

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

标签: cpointerssize

解决方案


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

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


推荐阅读