#1 2016-08-24 13:44:34

micom
Учасник
Зареєстрований: 2016-08-24
Повідомлень: 4

Массив структур

Здравствуйте!
Столкнулся с нерешаемой мной проблемой. Гугл не помог.
Нужно подсчитать количество элементов в массиве структур. Через sizeof ? Так размеры строк разные.
Объявление структуры:

struct Str_item
   {
	String text;
	byte X;
	byte Y;
	byte changeable;
	void *PtrNextLevel;
	void *PtrPrevLevel;
    };

Создаю массивы данных структур:

Str_item Array1[]=
{
	{ "Text1", 2, 0, 1, NULL, NULL },                    //элемент 1
	{ " Text2___", 2, 1, 1, NULL, NULL},                 //элемент 2
};

Str_item Array2[]=
{
	{ "__Text5   ", 2, 0, 1, NULL, NULL },                //элемент 1
	{ "  Text6___", 2, 1, 1, NULL, NULL},                 //элемент 2
	{ "   Text7 Text 3  ", 2, 2, 1, NULL, NULL},          //элемент 3
	{ "  __ Text8", 2, 3, 1, NULL, NULL}                  //элемент 4
};

Нужно подсчитать количество элементов каждого массива. Для приведенного кода это 2 и 4  элемента. Как их подсчитать программно?

Неактивний

#2 2016-08-24 14:12:10

serg10
Гість

Re: Массив структур

int length =  (sizeof(Array1)/sizeof(Str_item);
or
int length = Array1.size();

#3 2016-08-24 14:35:44

micom
Учасник
Зареєстрований: 2016-08-24
Повідомлень: 4

Re: Массив структур

serg10 пише:

int length =  (sizeof(Array1)/sizeof(Str_item);
or
int length = Array1.size();

Спасибо, получилось.
int length =  (sizeof(Array1)/sizeof(Array1[0]);

Остання редакція micom (2016-08-24 14:50:17)

Неактивний

#4 2016-08-24 14:49:48

serrrg10
Гість

Re: Массив структур

>Str_item могут разное количество байт.
Про указатели читал?

#5 2016-08-24 14:51:10

micom
Учасник
Зареєстрований: 2016-08-24
Повідомлень: 4

Re: Массив структур

serrrg10 пише:

>Str_item могут разное количество байт.
Про указатели читал?

Да, спасибо.
Все получилось.

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму