Re: проблема со статической переменной
От: WizardSD  
Дата: 09.06.06 21:22
Оценка:
Здравствуйте, vip_delete, Вы писали:

_>
_>1.h
_>static int x;
_>void init();
_>


_>
_>1.c
_>#include "1.h"

_>void init()
_>{
_>    x = 1912;
_>}
_>


_>
_>main.c
_>#include "1.h"
_>#include <stdio.h>
_>void main()
_>{
_>    init();//при  заходе сюда меняется аддрес x! %| и 1912 присваевается хз куда.
_>    printf("%d",x);
_>}
_>


_>Выводит не 1912, в чем трабла?


в том что не надо объявлять переменные в .h файлах.
1.h замени на extern int x;
а в 1.c поставь static int x;
некоторые компиляторы нормально это пережовывают.

Проблема дыла в том, что у тебя 2 статические (т.е. видные только в текущей еденице компиляции) переменные с именем x.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.