Static variable

static variable என்பது ஒரு constant. இந்த variable-ன் previous value-ஐ மாற்ற முடியாது. the value is continued in all the steps.

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

Keyword: static என்ற keyword பயன்படுத்தலாம். Example static int a;

Declaration: static variable function-க்கு உள்ளேயும் வெளியேயும் declare செய்துகொள்ளலாம்.

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

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

Lifetime: ஒவொரு function-னில் call செயும்போதும் அதன் value மாறிக்கொண்டே இருக்கும்.

Note: ஏற்கனவே உள்ள static variable-லின் value-வை விட, குறைவான value-ஐ variable-க்கு assign செய்து static variable-லின் value-வை மாற்ற இயலாது.

Example

#include<stdio.h>
#include<conio.h>
void function1(); 

int main(){
	function1();
	function1();
	function1();
	function1();
	
	return 0;
}

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


மேலே கொடுக்கபட்டுள்ள example-லில் function1-ஐ ஒவொரு முறை call செய்யும் போதும் static variable-ன் value 0 ஆகத்தான் assign செய்யபடுகிறது. ஆனால் முதல் முறை மட்டும் 0 எடுத்துக்கொண்டு அடுத்தடுத்த முறைகளில் increase ஆன value மட்டுமே எடுத்துகொள்ளும். மீண்டும் குறைவான value-வை assign செய்துகொள்ளாது.

Output:

0
1
2
3

Comments