What
is a local block?
Answer:
A
local block is any portion of a C program that is enclosed by the left brace ({)
and the right brace (}). A C function contains left and right braces, and therefore
anything between the two braces is contained in a local block. An if statement
or a switch statement can also contain braces, so the portion of code between
these two braces would be considered a local block. Additionally, you might
want to create your own local block without the aid of a C function or
keyword construct. This is perfectly legal. Variables can be declared within
local blocks, but they must be declared only at the beginning of a local
block. Variables declared in this
manner are
visible only within the local block. Duplicate variable names declared within a
local block take precedence over variables with the same name declared outside
the local block. Here is an example of a program that uses local blocks:
#include <stdio.h>
#include<conio.h>
void main(void);
void main()
{
/* Begin local block for function
main() */
int test_var = 10;
printf("Test variable before the
if statement: %d\n", test_var);
if (test_var > 5)
{
/* Begin local block for “if”
statement */
int test_var = 5;
printf("Test variable within the
if statement: %d\n",test_var);
{
/* Begin independent local block (not
tied to
any function or keyword) */
int test_var = 0;
printf("Test variable within the
independent local block:%d\n",test_var);
}
/* End independent local block */
}
/* End local block for “if” statement
*/
printf("Test variable after the
if statement: %d\n", test_var);
getch();
}
/* End local block for function main()
*/
This example
program produces the following output:
Test variable before
the if statement: 10
Test variable within
the if statement: 5
Test
variable within the independent local block: 0
Test
variable after the if statement: 10
Notice
that as each test_var was defined, it took precedence over the previously defined test_var.
Also notice that when the if statement local block had
ended, the program had reentered the scope of the original test_var,
and its value was 10.
Cross
Reference:
---------------------------------------------------------------------------------
Posted By Sundeep aka SunTechie
Sundeep is a Founder of Youth Talent Auzzar, a passionate blogger, a programmer, a developer, CISE and these days he is pursuing his graduation in Engineering with Computer Science dept.
Add Sundeep as a Friend on
No comments:
Post a Comment