2011-10-13 5 views
0

Я храню позиции игроков для программы я пишу в массивы хранятся в виде глобальных переменных, пример которых:Сохранение изменений, внесенных в массив переменных

float motor1[] = {4.312, 27.312}; 

Каждый раз, когда шаг сделан , У меня есть функции, называемые checkposition, перемещение игрока и положение обновления, которые извлекают и обновляют этот массив. Все эти функции находятся в одном модуле motor.c и имеют иерархию, в которой они выполняются. У меня есть основной модуль main.c, который вызывает этот модуль и передает ему некоторую информацию, а motor.c обрабатывает его, а затем выдает ответ. Меня смущает то, что, поскольку массив сохраняется как глобальная переменная, значит ли это, что он инициализируется каждый раз, когда этот модуль вызывается? Это означало бы, что моя функция позиции обновления никогда не будет работать за пределами первого хода.

ответ

1

Нет, если это глобальная переменная, она инициализируется только один раз при запуске программы.

+0

Так что даже я бегу некоторое время (1) цикл в основном, и этот модуль вызывается несколько раз с некоторой информацией, массивы будут не быть повторно инициализированным? – user993393

+0

@ user993393 - Да. – MByD

+0

@ user993393: Правильно. Глобальные переменные инициализируются только один раз, при запуске программы. – NPE

1

Нет, глобальная переменная инициализируется при запуске программы (и только тогда)

Смежные вопросы