Можно ли объявлять переменную в ЯП си в разный файлах без extern? А функции так же можно объявлять?
Будет ли это одна и та же переменная или разные?
a.c:
int a;
void f(){printf("%d ",a);}
b.c
int a;
/* extern ? */ void f();
int main(){printf("%d ",a);f();printf("%d ",a);}
Примечание:
Внимание, язык СИ. Без плюса, плюсплюса, минуса, минусаминуса, диеза, бемоля, шарпа, решеточки
Примечание:
К&R в оригинале цитаты нет? или еще лучше стандарт си или draft.
Примечание:
Darth Beleg, меня интересует данный код. как он будет работать? Особенно если сделать приваивания переменной a
Примечание:
Darth Beleg, что значит инициализатор? А если он будет одинаковый? И с функциями - если я в двух разных файлах определю
int function_global()
{return 0;}
то не будет работать?
По стандарту - подскажите пункты
Примечание:
а еще пункт J.5.11 (с99)
Примечание:
crimaniak, вопрос про два int без спецификаторов в 2 разных файлах. что будет тогда? 2 раза выделится память и куда будет ссылка? a если две инициализации??
зы. а линукс и дрова по вашему на лисп ли эрланг? очень много написано на чистых сях и много на нем будет писаться. как бы мс и не тянул одеяло в виде новых прогеров на бэсик и мэнэгед си-дот-нет. берем скажем google.com/codesearch : lang:c = 3,910,000. lang:c++ = 2,150,000 lang:java= 3,870,000. php = 819,000 perl = 487,000
Примечание:
ззы к вашему свведению, линкер на такое не ругнется (!)
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.