Указатель void: неопределенный тип, приведение указателей

Ключевое слово void и его функции

Изначально ключевое слово void использовалось для поддерживания концепции обобщенных указателей в С++. Этот ключ относится к спецификаторам объявления, но в некоторых языках служит как оператор. Иногда он используется как декларатор функций. Как спецификатор ключ void довольно необычен.

В языке программирования Си ключевое слово void служит для нескольких целей:

Оно указывает на то, что функция не возвращает значения.

void func(foid)
{

}

Также оно является показателем того, что функция не принимает параметры.

a = (void)func(n);

В С++ ключевое слово void может быть использовано двумя способами:

В качестве указателя на неопределенный тип. Такой указатель может быть обладателем указателя на любой тип, но обратная ситуация невозможна. На деле использовать указатели типа void не рекомендуется.

void *ptr;

Как указание компилятору о том, что значения вычисленных выражений игнорируются. Это используется в операциях приведения.

void *ptr; // Указатель на void
int i, *ptri; // Целая переменная, указатель на int
ptr= &i; // Допустимо
ptr= ptri; // Допустимо
ptri= (int)ptr; // Допустимо
// ptri=ptr; // Недопустимо

Операция разыменовывания без явного приведения типа не может выполняться над указателем неопределенного вида.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *