【发布时间】:2021-05-15 09:03:40
【问题描述】:
我声明了一个可以容纳10个参数的数组:
int a[10] = {2,3};
但我实际上有 2 个参数,当我使用 sizeof() 时:
int n = sizeof(a) / sizeof(int);
它显示数组的长度是 10,但我想要的结果是:2 因为我只有 2 个参数。 我怎样才能做到这一点 ?谢谢。
【问题讨论】:
-
数组中的项目数量固定为 10,初始化器的数量无关紧要。其余项目用零初始化。
-
这是因为数组有固定的大小,在编译时设置为你指定的元素数量。那是它的大小。不管你初始化多少元素,大小永远不会改变。如果您想要一个动态“数组”,请改用
std::vector。