C语言中的静态变量和函数
时间:2020-02-23 14:32:06 来源:igfitidea点击:
C中的静态变量
基本上,声明静态变量时,它们仅创建它们的单个副本,也称为类变量。
它们保留在相应范围内分配的值,并且不会在其新范围内再次初始化变量。
静态变量在代码执行期间保留在内存空间中。
静态变量初始化的默认值为零(0)。
在C编程中,必须使用常量常量初始化静态变量,否则它将返回错误。
语法:
static Data_Type variable = value;
例:
#include<stdio.h>
void implement()
{ int x = 0;
static int counter = 0;
counter++;
x++;
printf("\nStatic Variable's value:\n");
printf("%d",counter);
printf("\nLocal Variable's value:\n");
printf("%d",x);
}
int main()
{
implement();
implement();
return 0;
}
在上面的代码片段中,每次调用函数后,都会再次初始化局部变量的值。
与局部变量(x)不同,静态变量(counter)仅初始化一次,并且在程序执行期间确实保留了相同的变量副本。
输出:
Static Variable's value: 1 Local Variable's value: 1 Static Variable's value: 2 Local Variable's value: 1
C中的静态函数
C语言中的静态函数基本上将方法的范围限制为相应的文件。
也可以在不初始化对象的情况下调用这些函数。
静态函数通常会增强代码的可用性,即使代码准备好再次使用。
它限制了该特定程序中功能范围的可见性。
语法:
static Return_Type method_name(parameters)
{
body;
}
例:
#include <stdio.h>
//static function definition
static int sum(int a, int b){
return (a+b);
}
int main()
{
int number1,number2;;
printf("Enter the number1: ");
scanf("%d",&number1);
printf("Enter the number2: ");
scanf("%d",&number2);
printf("Addition of two numbers = ");
int res = sum(number1,number2);
printf("%d",res);
return 0;
}
输出:
Enter the number1: 10 Enter the number2: 20 Addition of two numbers = 30

