在C語言中,init函數(shù)通常用于初始化程序的一些全局或靜態(tài)變量。它是在程序啟動時自動調(diào)用的,主要用于執(zhí)行一些初始化操作,例如設置默認值、分配內(nèi)存、打開文件等。
init函數(shù)主要有兩種用法:
示例:
#include <stdio.h>
int global_var = 0;
void init() {
// 在全局變量初始化之前執(zhí)行一些操作
printf("Performing initialization...\n");
global_var = 10;
}
int main() {
// 調(diào)用init函數(shù)
init();
// 輸出全局變量的值
printf("global_var = %d\n", global_var);
return 0;
}
輸出結(jié)果:
Performing initialization...
global_var = 10
示例:
#include <stdio.h>
void func() {
// 靜態(tài)變量的初始化是在函數(shù)第一次被調(diào)用時執(zhí)行的
static int static_var = 0;
printf("static_var = %d\n", static_var);
}
void init() {
// 在靜態(tài)變量初始化之前執(zhí)行一些操作
printf("Performing initialization...\n");
// 分配內(nèi)存給靜態(tài)變量
func();
}
int main() {
// 調(diào)用init函數(shù)
init();
// 再次調(diào)用func函數(shù)
func();
return 0;
}
輸出結(jié)果:
Performing initialization...
static_var = 0
static_var = 0
需要注意的是,init函數(shù)的調(diào)用是在程序啟動時自動進行的,無需手動調(diào)用。并且,init函數(shù)的定義和聲明可以放在任何地方,但是為了保持代碼的可讀性,通常將其定義和聲明放在全局變量或靜態(tài)變量的定義之前。