Объявление с использованием ключевого слова extern
Почему мы можем изменить тип данных при определении переменной, которая объявлена с другим типом?
#include <iostream>
using namespace std;
extern int ab;
main()
{
float ab=10.2;
cout<<ab;
return 0;
}
Если мы можем, то какая польза от декларации?
Хотя (почти) каждый знает значение объявления и определения переменной / функции для полноты этого поста, я хотел бы прояснить их. Объявление переменной / функции просто объявляет, что переменная / функция существует где-то в программе, но память для них не выделена. Но объявление переменной / функции играет важную роль. И это тип переменной / функции. Поэтому, когда переменная объявлена, программа знает тип данных этой переменной. В случае объявления функции программа знает, каковы аргументы этой функции, их типы данных, порядок аргументов и тип возвращаемого значения функции.