Мы используем статический тип данных при возврате указателя на переменную, созданную в вызываемой функции. Например,
float * calculate_area(float r)
{
float *p;
static float area;
p=&area;
area=3.14*r*r;
return p;
}
Если вы сделаете область автоматической переменной, т. Е. Без какого-либо спецификатора типа, она будет уничтожена, когда управление вернется из вызываемой функции. При объявлении как статического вы также можете правильно получить значение области из main. сохраняя свое значение, мы делаем его статическим.