|
Увод в програмирането
alpha
|
В тялото на функция могат да се дефинират вътрешни променливи. Те са определени от мястото на дефиниране до края на съответната функция или това е тяхната област на действие. Външните променливи се дефинират в началото на програмата, преди всички функции или се дефинират между функциите в първичния файл. Те са определени от мястото на дефиниране до края на първичния файл. По такъв начин една външна променлива може да се използва от различни функции и чрез нея да се предават стойности между функциите. Имата на външните променливи трябва да бъдат уникални в първичния файл
Ако в дадена функция се среща вътрешна променлива с име, съвпадащо с това на външните променливи, то вътрешната променлива скрива външната променлива в своята област на действие.
Пример prog.cpp:
float x,y;
void main()
{
int k;
// Tук може да се използват x и y;
}
float z;
void f1()
{
int x;
// Тук се използва вътрешната променлива x и
// Външните променлив y и z;
}
void f2()
{
int y;
// Тук се използва вътрешната променлива y и
// Външните променлив x и z;
}Блок
Блок в C/C++ е последователност от дефиниции на променливи и оператори, заключен в {} . Блок може да се запише навсякъде в програмата, където е възможно да се запише оператор. Променливите, които се дефинират в блок са определени от мястото на дефиниринане до края на блока. Тези променливи са локални за блока. Там, където променливите са определени, е тяхната област на действие. Един блок може да съдържа в себе си друг блок. В този случай казваме, че блоковете са вградени един в друг. Променливите дефинирани в даден блок са глобални по отношение на блоковете, съдържащи се в дадения блок. Променливите във вложените блокове могат да имат еднакви имена. В този случай променливите в даден блок скриват глобалните променливи със същите имена.
Пример:
void main()
{
float x,y;
{
int k;
// локална променлива k
// глобални променливи x и y
}
float z;
{
int x;
// локална променлива x
// глобална променлива z и y;
}
{
int y;
// локална променлива y
// глобална променлива z и x;
}
}