Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/22: Рейтинг темы: голосов - 22, средняя оценка - 4.95
1 / 1 / 0
Регистрация: 26.03.2012
Сообщений: 154
1

Вопрос по си

20.10.2012, 16:11. Показов 4152. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени.

В проекте есть 3 файла:

Код
//main.c
#include "fiw.h"

void main()
{
Queue[0] = 0x0A;

FyttFiw();
}
Код
//fiw.h
static char Queue[6];
extern void FyttFiw();
Код
//fiw.c
#include "fiw.h"

void FyttFiw()
{
Queue[0] = 0x01;
}
Вопроса 2:
1. Почему Queue в main.c и Queue в fiw.c фактически разные (ссылаются на разные адреса в памяти)?
2. Как сделать, чтобы это была одна переменная?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2012, 16:11
Ответы с готовыми решениями:

Вопрос по SetParent (поэтому, наверное, это вопрос к NickStaves)
Есть набор форм, назовём их 'интерфейсными'. Есть отдельная форма, назовём её 'хранилищем'. Сама...

VBulletin [ВОПРОС]: Меню и вопрос при регистрации
Помогите пожалуйста. У меня vbulletin 4.0.7 и после установки в верхнем меню есть лишняя навигация....

Вопрос о картинках, вопрос о формулах
Всем доброго времени суток! Как обычно глупые вопросы... Вопрос первый, с сайта копируется...

Вопрос по массивав, "институтский" вопрос.
Готовлюсь к летней сессии по программированию. С++ Есть такая вот задачка (привожу как есть) ...

2
0 / 0 / 0
Регистрация: 11.08.2012
Сообщений: 67
20.10.2012, 16:30 2
так в ".h" файле все переменные надо объявлять как extern.
или использовать этот ".h" файл только в одном месте.
иначе эта переменная вставляется в каждый файл, где упоминается.

а функцию, кстати, совсем не нужно объявлять как extern.
0
omx
21.10.2012, 11:25 3
Потомучто надо делать так:
Код
//main.c
#include "fiw.h"
char Queue[6];
void main()
{
Queue[0] = 0x0A;

FyttFiw();
}
Код
//fiw.h
extern char Queue[6];
void FyttFiw();
Код
//fiw.c
#include "fiw.h"

void FyttFiw()
{
Queue[0] = 0x01;
}
Читайте про слово static, а ещё попробуйте пройтись препроцессором по обоим с-файлам и посмотреть результат.
21.10.2012, 11:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.10.2012, 11:25
Помогаю со студенческими работами здесь

вопрос
уважаемые форумчане!! у меня вопрос.. удадлил игру, а музыка из игры продолжает играть.. ...

Вопрос по do while
У меня возникла такая проблема, вывожу в цикле такой код: <? do { printf (" ...

Вопрос о IE 7
Здравствуйте. Подскажите пожалуйса в IE6 и Mozilla в коде ссылки вот это ...

Вопрос
есть иерархическая таблица типа: ID -primary ID_Parent -ссылка на верх. уров. Num - номер в...

Вопрос
Здравствуйте.Мне очень интересно,чем отличается раскрутка в Яндекс от раскрутки ,скажем, в Rambler ?

Вопрос!
А можно как нибудь сделать так чтобы прога написанная под access запускалась без access. Типа 'ехе'.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru