это плохо.ROMan2947 писал(а):с понятиями определена, описана,объявлена, инициализирована одни путаницы.
если своими словами, то:
1. каждая сущность программы на Си может быть ОПИСАНА, РЕАЛИЗОВАНА и ИСПОЛЬЗОВАНА.
2. описана (объявлена) - это значит, что компилятор уведомлен о том, что в программе такая сущность МОЖЕТ существовать. где - пока не ясно
3. реализация сущности - это команда компилятору выделить память и(возможно) заполнить её какими-то данными. теперь эта сущность существует на самом деле.
4. использование - это работа с описанной и реализованой сущностью.
5. описание, реализация и использование могут быть не все сразу, а частично, минимально необходимый вариант - реализация, если её нет - считай, все остальное смысла не имеет
6. любое использование должно быть после реализации, любая реализация - после описания. и никак иначе. при этом реализация заменяет собой описание, т.е. при наличии реализации описание становится необязательным. но при наличии описания не обязательна реализация.
под сущностью я подразумеваю любую элементарную конструкцию языка Си: тип, переменную, структуру, функцию. макрос не является в строгом понимании элементом языка Си (это к препроцессору относится), и поэтому не в полной мере удовлетворяет этому описанию.
примеры
Код: Выделить всё
extern int var; // описание переменной
int var; // реализация переменной
var = 12; // использование переменной
int foo(void); // описание функции
int foo(void){
return 12;
} // реализация функции
var = foo(); // использование функциипри взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!


