c - 如何在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?!请帮帮我谢谢
解决方案
那是你的工作。C 没有提供一种可移植的方式来了解给定指针已分配了多少内存。
sizeof
会给你sizeof(double*)
,仅此而已。在你的系统上是 4。
推荐阅读
- python - 安装 BeatifulSoup 时显示错误
- javascript - 为什么 innerHTML 只给我 for 循环的最后一个值?
- r - read.delim 在 R 中没有这样的文件或目录
- html - 在 Angular 中使用掩码时 value 指令不绑定
- sql - 如何从 Athena SQL 查询中的 3 个表中获取所需的数据?
- javascript - Javascript 无法更新渐变
- python - 循环内奇怪的隐式类型转换
- node.js - 停用 Node.js 8 后 Firebase Cloud Functions 会发生什么?
- javascript - 如何将 --active 附加到 react-calendar__tile?
- angular - 如何优化此吸气剂性能问题?