Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Правила объявления переменных.

Страниц (1): [1]
 

1. KeSeG - 18 Сентября, 2018 - 05:27:59 - перейти к сообщению
Пожалуйста подскажите, как правильно (а вернее где) объявлять переменные. Не совсем понимаю логику объявления переменных внутри функции. т.е. я заметил (как всегда методом тыка) если я объявляю переменную win внутри функции, то он ее не воспринимает.

Итого изолирую вопросы:
1. Стоит ли все переменные вообще объявлять в самом начале программы? (меньше ли так будет проблем с обращения к ним)
2. Если я 2 раза объявляю одну и туже переменную в коде - ругается. Справедливо.
Если же я объявляю первый раз в самом начале кода второй раз в функции то - молчит. не понимаю этого момента. Почему так?
2. Kibor - 18 Сентября, 2018 - 05:38:13 - перейти к сообщению
Переменные есть локальные и глобальные.
Глобальные те что объявлены вне функций.
Их видно везде.

Локальные те что объявлены в функциях.
Их видно только в этой функции.

Исходя из этого, имена переменных следуют этому правилу.

CODE:
int a=5;
messagebox (fff());
messagebox (a);

function fff()
{
int a=2;
messagebox (a);
return a;
}


Если есть одноименная переменная локальная в функции с глобальной, то при использование ее в функции учитывается именно локальная. Вне функции глобальная.
3. KeSeG - 18 Сентября, 2018 - 05:52:41 - перейти к сообщению
С одноименными стало ясно. А если мы объявляем переменную в функции, далее ее значение мы можем использовать глобально?
4. Zireael - 18 Сентября, 2018 - 06:03:16 - перейти к сообщению
 Цитата:
А если мы объявляем переменную в функции, далее ее значение мы можем использовать глобально?

Нет. Но можно вернуть её значение из функции.
CODE:
int x=f(); // присваиваем результат, который вернёт функция
messagebox(x);

function f()
{
int y=15;
return y; // возвращает значение переменной 'y'
}
5. KeSeG - 18 Сентября, 2018 - 06:23:47 - перейти к сообщению
Еще раз спасибо, хоть какая то ясность появилась.

Powered by ExBB FM 1.0 Final