Page cover

📏функция sizeof()

определяет размер элемента в байтах

sizeof - дает нам узнать сколько места в байтах занимает элемент

синтаксис
sizeof(int) // узнаем размер типа данных int => 4 байта
sizeof(double) // узнаем размер типа данных double => 8 байт


int arr[4]{5,4,23,532}
sizeof(arr) // узнаем размер массива => 16 байт

// каждый элемент массива является как бы отдельной переменной такого же типа данных
// =>   4*4 = 16 байт

Например мы не знаем количество элементов массива и не хотим создавать отдельную переменную для расчета. Мы можем использовать sizeof(), что бы узнать размер массива в байтах. Затем получившиеся значение мы делим на тип данных массива и узнаем количество элементов в массиве.

Определяем длину массива
int arr[]{ 13,32,32,22 };

for (int i = 0; i < sizeof(arr)/sizeof(int); i++)
{
	cout << arr[i] << endl;
}


//  мы делим размер массива на размер его типа данных,  
//  что бы узнать сколько в нем элементов                    sizeof(arr)/sizeof(int)
//  =>   20 / 4 = 5 элементов массива

Допустим, мы знаем что в дальнейшем тип данных массива может быть изменен. Например мы изменили int arr[] на double arr[]. Тогда в таком случае, мы можем взять за размер типа данных первый элемент массива т.к он всегда соответствует типу данных массива sizeof(arr[0])

Определяем длину массива
for(int i = 0; i < sizeof(arr)/sizeof(arr[0]); i++)
{
   cout << arr[i] << endl;
}

Last updated