查找指针数组的大小?

时间:2019-04-22 04:12:44

标签: c++ arrays pointers

我试图找到一个指针数组的大小。数组声明如下:

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。但是我正在尝试查找已初始化元素的数量。

0 个答案:

没有答案