A scope in any program is a that region of the program where
a defined variable can have its existence and beyond that variable can't be
accessed. The three places where variables can be declared in C programming
language:
Local Variables:
Variables which are
declared within a function or block are called local variables. They can be
used only by statements which are inside that function.Local Variables are not
more alive outside the functions .Here is the example of local variables. All
the variables a, b and c are local Variables
to main() function.
#include <stdio.h>
int main ()
{
/* local variable
declaration */
int a, b;
int c;
/* actual
initialization */
a = 10;
b = 20;
c = a + b;
printf ("value
of a = %d, b = %d and c = %d\n", a, b, c);
return 0;
}
Global Variables:
Global variables are defined outside of all function, used
in a program.Global Variables are usually on top of the program. The global
variables can be accessed inside any of
the functions.You can access them form any where .
Example of global variable is:
#include <stdio.h>
/* global variable declaration */
int g;
int main ()
{
/* local variable
declaration */
int a, b;
/* actual
initialization */
a = 10;
b = 20;
g = a + b;
printf ("value
of a = %d, b = %d and g = %d\n", a, b, g);
return 0;
}
A same name will be assigned to a local and global variables
in a same C program but value of local variable inside a function will take
preference.
#include <stdio.h>
/* global variable declaration */
int g = 20;
int main ()
{
/* local variable
declaration */
int g = 10;
printf ("value
of g = %d\n", g);
return 0;
}
Output:
value of g = 10
Formal Parameters:
Function parameters, formal parameters, are treated as local
variables inside that function and they will take preference over the global
variables.
example:
#include <stdio.h>
/* global variable declaration */
int a = 20;
int main ()
{
/* local variables
in main function */
int x= 10;
int y = 20;
int z = 0;
printf ("value
of x in main = %d\n", x);
c = sum( x, y);
printf ("value
of z in main = %d\n", z);
return 0;
}
/* function to add two integers */
int sum(int x, int y)
{
printf
("value of x in sum= %d\n",
x);
printf
("value of y in sum= %d\n",
y);
return x + y;
}
result:
value of a in main() = 10
value of a in sum() = 10
value of b in sum() = 20
value of c in main() = 30
Initializing Local and Global Variables:
Local variable is not
initialized by the system, you must initialize it by yourself. Global variables
are initialized the system.
Data Type Initial
Default Value
int 0
char '\0'
float 0
double 0
pointer NULL
It I good to habit of initialize the variables otherwise in
some cases you will get the unexpected results.
|
|
C - Overview | |
C - Basic Syntax | |
C - Data Types | |
C - Variables | |
C - Constants | |
C - Storage Classes | |
C - Operators | |
C - Decision Making | |
C - Loops | |
C - Functions | |
C - Scope Rules | |
C - Arrays | |
C - Pointers | |
C - Strings | |
C - Structures | |
C - Unions | |
C - Bit Fields | |
C - Typedef | |
C - Input & Output | |
C - File I/O | |
C - Preprocessors | |
C - Header Files | |
C - Type Casting | |
C - Error Handling | |
C - Recursion | |
C - Variable Arguments | |
C - Memory Management | |
C - Command Line Arguments |
Monday, 25 November 2013
Home »
C language
» Scope Rules In C
Scope Rules In C
Related Posts:
Loops in C This is an attempt at explaining the loops in C .It is not complete, just the basics. C Programming Loop is a construct which execute a set of statements certain number of times… Read More
Storage Classes in c A storage class in C defines the scope (visibility) and life-time of a variables and/or a functions .These specifiers precede the type that they modify. There are some storage classes, which are used in a C Pr… Read More
Constant and Literals in c The constants refer to fixed values that the program may not change during its execution. These values are also called literals. C Programming Constants can be of any of the data types like an integer … Read More
Operators in C An operator is a symbol that instruct the compiler to perform specific mathematical or logical operation. C language has following type of operators: C Programming • Arithmetic Operators • … Read More
Pointers in c A pointer is an address. Instead of a variable, it is a pointer to a variable which is stored somewhere in the memory of the program. Let examine… Read More
0 comments:
Post a Comment