есть ли логика в системе типов С
От: _hum_ Беларусь  
Дата: 12.10.07 11:04
Оценка:
вопрос:
в С заявляется, что производными типами являются структуры, массивы и функции
то есть, получается, функции являются значениями
тогда опять же, получается, что запись
int f(int);
должна означать создание переменной типа функции, с одним целым параметром и целым возвращаемым значением
тогда, почему недопускается следующая запись:
int g(int i){return i;}

f = g;// ошибка

и второй вопрос, почему, если объявляется указатель на функцию, то есть

int (*f)(int);

то валидна запись

f = g;

и при этом она оказывается равносильной

f = &g;

Так являются функции отдельным типом или это какие-то специальные объекты со своими правилами ??
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.