Вопрос по С ->

Тема в разделе "WASM.ZEN", создана пользователем st.Doc, 12 окт 2006.

  1. st.Doc

    st.Doc New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2006
    Сообщения:
    2
    Не могу понять вот этот код помогите плз (только начинаю на С):

    char* extract(byte *str)
    {
    static char buffer[VOLUME];
    //работаем с буфером (buffer).
    return buffer;
    }

    Разве при выходе из функции не уничтожается buffer? Он же находится в стеке?
     
  2. clone

    clone New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2006
    Сообщения:
    84
    st.Doc
    нет.
    нет. ключевое слово -- static
     
  3. gilg

    gilg New Member

    Публикаций:
    0
    Регистрация:
    19 май 2005
    Сообщения:
    527
    static говорит, что буфер нужно создавать не в стеке, а в сегменте данных. Посмотри хелп по static в msdn, там все расписано с примерами
     
  4. st.Doc

    st.Doc New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2006
    Сообщения:
    2
    Всё понял! Спасибо большое.