Найти размер массива указателей? - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь найти размер массива указателей.Массив объявляется так:

Student *students[ROSTER_MAX]; 

, где ROSTER_MAX - это статическая константа 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. Но я пытаюсь найти количество инициализированных элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...