Информатика и технология программирования

       

Контроль преобразования типов указателей


В " классическом" Си при выполнении присваивания, передаче фактических параметров и результата функции происходит автоматическое преобразование указателей к базовым типам данных (int,unsigned ) и наоборот, а также преобразование одного типа указателя к другому. В Си++ такие " вольности" исключены, программист должен сам выполнить явное преобразование. Например, при использовании функции распределения динамической памяти, имеющей прототип


extern void* malloc(int n);
dat *p;
p = (dat*) malloc (10*sizeof(dat)); // преобразование void* в dat*

Естественно, что это преобразование типов фиктивное в том смысле, что оно не меняет значения самого указателя и не связано с выполнением каких-либо действий, а только меняет "точку зрения" транслятора на память под указателем.



Содержание раздела