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

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

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

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

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

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


 
Опции темы

Смещается адрес переменных?

Непрочитано 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
Адрес: мурмурляндия
Сообщений: 11,134
Сказал спасибо: 202
Сказали Спасибо 3,285 раз(а) в 2,151 сообщении(ях)
индюк на пути к лучшему
По умолчанию 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
Адрес: мурмурляндия
Сообщений: 11,134
Сказал спасибо: 202
Сказали Спасибо 3,285 раз(а) в 2,151 сообщении(ях)
индюк на пути к лучшему
По умолчанию 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.RUN
 
Аватар для vavan1983
 
Регистрация: 26.12.2007
Сообщений: 1,198
Сказал спасибо: 70
Сказали Спасибо 80 раз(а) в 69 сообщении(ях)
vavan1983 на пути к лучшему
По умолчанию Re: Смещается адрес переменных?

ДААА без бабушки Ванги тут явно не обойтись.
vavan1983 вне форума  
Непрочитано 31.03.2022, 09:34  
NewWriter
Почётный гражданин KAZUS.RUN
 
Аватар для NewWriter
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,481
Сказал спасибо: 396
Сказали Спасибо 2,222 раз(а) в 1,317 сообщении(ях)
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, время: 03:08.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.