Global variable

ஒரு variable-ஐ function-க்கு வெளியே அதாவது main function-க்கு வெளியே, header file-க்கு அடுத்து declare செய்யபட்டிருந்தால், அவை Global variable என்று அழைக்கபடுகிறது.

Note: Global variable-ஐ function-க்கு உள்ளேயும் வெளியேயும் பயன்படுத்த முடியும். main function-க்கு வெளியே ஒரு variable-ஐயோ function-ஐயோ பயன்படுத்தவேண்டுமெனில் அவை நிச்சயம் gloabal-ஆக declare செய்யபட்டிருக்க வேண்டும்.

ஒரு Global variable கீழ்க்கண்ட பண்புகளை அடிப்படையாக கொண்டது.

Keyword: Global variable-க்கு extern என்ற keyword பயன்படுத்தலாம். Example extern int a; அல்லது int a;

Declaration: Global variable எப்பொழுதும் main function-க்கு வெளியே தான் declare செய்யவேண்டும்.

Storage Area: Global variable-ன் values, CPU memory-ல் store செய்யபடுகின்றது.

Default Value: Global variable-க்கு value கொடுக்கவில்லை எனில், அது 0 என்ற value-ஐ எடுத்துகொள்ளும்

Lifetime: Global variable ஒரு function-க்கு உள்ளேயும் வெளியேயும் தனது அதிகாரத்தை செலுத்த இயலும். அதாவது global variable-ஐ program முழுவதும் எங்கு வேண்டுமானாலும் பயன்படுத்திகொள்ளலாம்.

Note: ஒரு function-னில் global variable name-ஐ , local variable name-ஆகவும் declare செய்யபட்டிருந்தால். அந்த function-க்கு உள்ளே ஒரே name-ல் உள்ள global variable வேலை செய்யாது. அங்கு local variable மட்டுமே வேலை செய்யும்.

Example

#include<stdio.h>
#include<conio.h>
void function1(); // global function declaration
void function2(); // global function declaration
int m=20; //global variable declaration
int main(){
	int m=10; // local variable
	function2();
	printf("%d\n",m);
	return 0;
}

void function1(){
	printf("%d\n",m);
	m=m+30;
}

void function2(){
	function1();
	printf("%d\n",m);
}

மேலே கொடுக்கபட்டுள்ள example-லில் முதலில் main function-னில் m=10 என்ற local variablevalue-ஐ எடுத்துகொள்கிறது. இந்த m value print செய்வதற்கு முன்பாக function2-க்கு சென்றுவிடுகிறது. அங்கிருந்து function2-க்கு செல்கிறது. அங்கிருந்து function1-க்கு செல்கிறது.

இங்கு எந்த local variable-ம் இல்லை என்பதால் global variable-ஐ எடுத்துகொள்ளும் ஆகையால் m=20 print ஆகும். அடுத்து m=m+30 அதாவது global variable m-ன் value 50 ஆக மாறி விடுகின்றது. இப்பொழுது function2-ல் m-ன் value 50 print ஆகிறது. அடுத்து main function-னில் m=10 என்ற local variable-ன் value தான் print ஆகும்.

Output:

20
50
10

Comments