Я сделал структуру, и теперь мне нужно создать массив для соответствующей структуры. Может ли кто-нибудь помочь мне, как это сделать? Я смотрел на вещи в Интернете и не мог их понять, поэтому кто-нибудь может дать мне пример и объяснение того, как создать массив структуры.
struct CANDIDATE{
string candiFN;
string candiLN;
int partyID;
int votes;
};
Так же, как вы делаете любой массив. Следующее делает массив длиной 5.
CANDIDATE foo [5];
Затем вы можете заполнить его так, как вы хотите
for (unsigned int i = 0; i < 5; ++i)
{
CANDIDATE temp("first", "second", 1, 2);
foo[i] = temp;
}
Или же
for (unsigned int i = 0; i < 5; ++i)
{
CANDIDATE temp;
temp.candiFN = "first";
temp.candiLN = "second";
temp.partyID = 1;
temp.votes = 2;
foo[i] = temp;
}
Обратите внимание, что в C ++ используется std::vector
обеспечивает большую безопасность и гибкость для большинства приложений.
std::vector<CANDIDATE> bar;
for (unsigned int i = 0; i < 5; ++i)
{
CANDIDATE temp("first", "second", 1, 2);
bar.push_back(temp);
}
Вы можете просто сделать это:
struct CANDIDATE{
string candiFN;
string candiLN;
int partyID;
int votes;
}array[5];
//just add an array between } and ;
Вы можете сделать массив значений
CANDIDATE foo[5];
или массив указателей
CANDIDATE* foo = new CANDIDATE[5];
Первый идет в стек, второй в кучу и нужно вручную удалить
В любом случае рассмотреть вопрос об использовании std::vector