0% found this document useful (0 votes)
133 views12 pages

Scope Rules in C

Local variables are declared within functions or blocks and can only be accessed within that function or block. Global variables are declared outside of functions and can be accessed throughout the program. Formal parameters are treated as local variables within a function. Local variables take precedence over global variables of the same name.

Uploaded by

Nishat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
133 views12 pages

Scope Rules in C

Local variables are declared within functions or blocks and can only be accessed within that function or block. Global variables are declared outside of functions and can be accessed throughout the program. Formal parameters are treated as local variables within a function. Local variables take precedence over global variables of the same name.

Uploaded by

Nishat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Scope Rules in C

• A scope in any programming is a region of the


program where a defined variable can have its
existence and beyond that variable it cannot be
accessed. 
• There are three places where variables can be
declared in C programming language −
• Inside a function or a block which is
called local variables.
• Outside of all functions which is
called global variables.
• In the definition of function parameters which are
called formal parameters.
Local Variables
• Variables that are declared inside a
function or block are called local variables.
• They can be used only by statements that
are inside that function or block of code.
• Local variables are not known to
functions outside their own.
#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 a function,
usually on top of the program.
• Global variables hold their values throughout the
lifetime of your program and they can be accessed
inside any of the functions defined for the program.
• A global variable can be accessed by any function.
• That is, a global variable is available for use
throughout your entire program after its declaration.
• The following program show how global variables
are used in a program.
#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 program can have same name for local
and global variables but the value of local
variable inside a function will take
preference.
• Here is an example −
#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

• Formal parameters, are treated as local


variables with-in a function and they take
precedence over global variables.
Following is an example −
#include <stdio.h>
/* global variable declaration */
int a = 20;
int main ()
{
/* local variable declaration in main function */
int a = 10; int b = 20; int c = 0;
printf ("value of a in main() = %d\n", a);
c = sum( a, b);
printf ("value of c in main() = %d\n", c);
return 0; }
/* function to add two integers */
int sum(int a, int b)
{
printf ("value of a in sum() = %d\n", a);
printf ("value of b in sum() = %d\n", b);
return a + b;
}
Output
• 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

• When a local variable is defined, it is not


initialized by the system, you must
initialize it yourself.
• Global variables are initialized
automatically by the system when you
define them.

You might also like