我试图找到一个指针数组的大小。数组声明如下:
Student *students[ROSTER_MAX];
其中ROSTER_MAX
是一个静态const int,它== 1024,而Student
是一个包含int和两个字符串的对象。我试图找到students
的大小(例如数组中的元素数)。到目前为止,我已经尝试过:
sizeof(students)/sizeof(*(students[0]));
和
sizeof(students)/sizeof(students[0]);
如果有人能帮助我理解为什么前两个(尤其是第一个)不起作用并提供替代方案,将不胜感激!
更新:
我试图找到数组中非空元素的数量。数组类(称为Roster
)的构造函数为:
Roster::Roster(){
this -> numStudents = 0;
for(int i = 0; i < ROSTER_MAX; i++){
this -> students[i] = NULL;
}
}
所以我可以看到上面的代码行将如何导致1024。但是我正在尝试查找已初始化元素的数量。