pointer.md 917 B

~={yellow}Важное=~

Если при объявлении указателю не присваивается действительный адрес, то его необходимо обнулить.

// C
char *ptr = NULL;

// C++
char *ptr = nullptr;

Указатели на разные типы данных имеют одинаковый размер, но отличаются длиной арифметического шага. Размер указателей зависит от конкретной архитектуры.

sizeof(char*)

~={yellow}Обобщенный указатель=~ - это указатель на void. Обычно используют для хранения содержимого других указателей без запоминания их типов.

void print_bytes(void* data, size_t length) 
{
	unsigned char *ptr = data;
}