Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 30.03.2022, 19:00  
sanstan
Прописка
 
Регистрация: 06.03.2007
Сообщений: 144
Сказал спасибо: 22
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
sanstan на пути к лучшему
По умолчанию Смещается адрес переменных?

Добрый день.
Задаю переменные в файле var.h. Инициализация в var.c .
int f1, f2,f3;
они принимают значения либо 1 либо 0 в программе
продолжаю писать программу, через какое то время переменная f1 начинает выдавать какие то псевдослучайные значения во всем int диапазоне.

переименование f1 -› f10 снова нормализует работу.

В чем дело? как сохранить переменную без переименования?
Реклама:
sanstan вне форума  
Непрочитано 30.03.2022, 19:20  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,419
Сказал спасибо: 176
Сказали Спасибо 3,128 раз(а) в 2,017 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Смещается адрес переменных?

инты для була/логики?

мошт они у тебя не глобальные вот и меняются/затираются?
__________________
кагмаподэ магмаподэ
индюк на форуме  
Непрочитано 30.03.2022, 19:20  
sanstan
Прописка
 
Регистрация: 06.03.2007
Сообщений: 144
Сказал спасибо: 22
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
sanstan на пути к лучшему
По умолчанию Re: Смещается адрес переменных?

да, получается глобальные. Они используются в нескольких файлах.
sanstan вне форума  
Непрочитано 30.03.2022, 19:25  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,419
Сказал спасибо: 176
Сказали Спасибо 3,128 раз(а) в 2,017 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Смещается адрес переменных?

это надо явно указать
__________________
кагмаподэ магмаподэ
индюк на форуме  
Непрочитано 30.03.2022, 19:35  
sanstan
Прописка
 
Регистрация: 06.03.2007
Сообщений: 144
Сказал спасибо: 22
Сказали Спасибо 10 раз(а) в 10 сообщении(ях)
sanstan на пути к лучшему
По умолчанию Re: Смещается адрес переменных?

Получилось, но как то все равно сложно, особенно если переменных больше 200:

файл var.h:
extern int f1;
.....
еще Переменные
.....

файл var.с:
int f1=0;
...........


файл main.h:
#include "var.h"
...
Использование переменных
...

файл test.h:
#include "var.h"
...
Использование переменных
...

Последний раз редактировалось sanstan; 30.03.2022 в 19:48.
sanstan вне форума  
Непрочитано 30.03.2022, 23:37  
vavan1983
Почётный гражданин KAZUS.RU
 
Аватар для vavan1983
 
Регистрация: 26.12.2007
Сообщений: 1,198
Сказал спасибо: 70
Сказали Спасибо 80 раз(а) в 69 сообщении(ях)
vavan1983 на пути к лучшему
По умолчанию Re: Смещается адрес переменных?

ДААА без бабушки Ванги тут явно не обойтись.
vavan1983 вне форума  
Непрочитано 31.03.2022, 09:34  
NewWriter
Почётный гражданин KAZUS.RU
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,514
Сказал спасибо: 401
Сказали Спасибо 2,218 раз(а) в 1,316 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: Смещается адрес переменных?

Даааа, телепаты ушли...
В заголовочных .h-файлах ничего "использовать" не следует. Вы файлы исходников (.c) и файлы заголовочников (.h) не путаете по применению? Потому как в норме нужно так:
var.c:
Код:
int var f0, f1 = 5;
int Foo(int a)
{
    return f1 + a + 50;
}
f0 = f1 + 50;
var.h:
Код:
extern int f0, f1;
int Foo(int a);
main.c:
Код:
#include "var.h"
...
f0 = Foo(100);
И вообще, объявляйте переменные по месту их использования, а не глобально 200 штук сразу для всего проекта. Каждый файл с исходниками должен быть самодостаточен, не иметь лишних ненужных связей, они запутывают проект, усложняют правку и использование фрагментов в других проектах.
__________________
Убейте шизофреника Вовку Стогова!

Последний раз редактировалось NewWriter; 31.03.2022 в 09:43.
NewWriter вне форума  
Эти 3 пользователя(ей) сказали Спасибо NewWriter за это сообщение:
mike-y-k (31.03.2022), Yuri222 (31.03.2022)
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ускорить компьютер 7Fantomas7 Ремонт оргтехники 111 08.08.2018 05:27
CVAVR порча переменных Aselicon AVR 5 06.04.2017 22:18
После определенного количества используемых переменных - на дисплее "крякозяблики" -vitalik- PIC 31 16.12.2015 04:43
Безопасный адрес электронной почты Falconist Обсуждение сайта и форума 33 15.11.2011 09:24
Как получить адрес элемента структуры? k0stya_ Микроконтроллеры, АЦП, память и т.д 9 14.11.2011 23:07


Часовой пояс GMT +4, время: 17:06.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot