📅  最后修改于: 2023-12-03 14:47:44.168000             🧑  作者: Mango
在 C 语言中,Struct 是一种用户自定义数据类型。它可以包含不同数据类型的变量。除了数据成员外,struct 还可以包含函数成员。可以通过该函数成员对结构体进行操作。本文将介绍 struct 中的函数,掌握 struct 中的函数能够让程序员更好的管理数据。
在 struct 中声明函数的语法与常规 C 函数类似。但是,声明时必须将函数声明在 struct 定义之前。
struct myStruct {
int myInt;
void (*myFunc)();
};
void myFunction() {
printf("Hello World!");
}
int main() {
struct myStruct myVar = {123, myFunction};
printf("%d ", myVar.myInt);
myVar.myFunc();
return 0;
}
在上面的例子中,声明了一个名为 myStruct 的结构,并在其中声明了一个整型变量 myInt 和一个指向函数的指针 myFunc。
在 struct 中初始化函数的语法如下:
struct myStruct {
int myInt;
void (*myFunc)();
};
void myFunction() {
printf("Hello World!");
}
int main() {
struct myStruct myVar = {123, myFunction};
printf("%d ", myVar.myInt);
myVar.myFunc();
return 0;
}
在上面的例子中,我们在声明 struct 时将 myVar 初始化为一个值分别为 123 和 myFunction 的 myStruct 实例。最后,我们调用 myFunc 函数。
struct 中的函数成员可以被使用函数指针调用。例如,下面的实例定义了一个指向函数的指针,并用这个指针调用函数:
struct myStruct {
int myInt;
void (*myFunc)();
};
void myFunction() {
printf("Hello World!");
}
int main() {
struct myStruct myVar = {123, myFunction};
printf("%d ", myVar.myInt);
void (*myFuncPtr)() = myVar.myFunc;
myFuncPtr();
return 0;
}
在上面的例子中,我们用一个函数指针调用结构体的函数成员。
在 struct 中声明函数可以让程序员更好的组织数据。结构体中的成员变量和函数可以一起使用,为整个程序带来方便。本文介绍了如何在 struct 中声明和使用函数成员。现在您应该对如何使用 struct 中的函数有一定了解了。