Си - Чем отличается static-переменная вне функции от не-static?

Тема в разделе "LANGS.C", создана пользователем AndreyMust19, 13 дек 2008.

  1. AndreyMust19

    AndreyMust19 New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    714
    В некоторых программах видел как вне тела функции объявляют переменную... без слова static или extern. Так я никогда не делал. Объясните - что будет если у внешней переменной (вне тела функции) не писать слово static?

    Вопрос исчерпан
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    static видна только в том модуле где она объявлена.
    Если этого слова нет, то она будет видна во всех других модулях. И к ней можно будет обратиться, объявив в другом модуле такую же с extern.
     
  3. AndreyMust19

    AndreyMust19 New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    714
    Спасибо, Booster за ответ.
     
  4. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    ну или не обязательно такую же - например в visual c++ можно с другим типом если она extern "C" или файл компилируется как си. насчет манглинга других компиляторов не в курсе)