Недавно я увидел следующий код:
if ((rgb = (fp16 *)malloc(width*height*sizeof (*rgb)*3)) == NULL)
rgb объявлен как указатель на некоторый тип класса.В приведенном выше коде malloc () принимает аргументы, которые имеют ширину * высоту * sizeof (* rgb)
Так что это своего рода самореференциальная инициализация (если я могу вызвать ее, задав это имя!), Т.е.Указатель belore rgb выделяется malloc, он разыменовывает его при вызове malloc.
В этом конкретном коде я увидел, что указатель rgb не инициализируется значением NULL или чем-либо еще.
Каково будет поведение такого кода.
Нормальное функционирование или
Сбой из-за разыменования нулевого указателя или
Разыменование указателя гаража
спасибо,
-AD.