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