C语言结构体能不能包含函数?

来源:百度知道 编辑:UC知道 时间:2024/06/07 02:44:26
C语言结构体能不能包含函数?

C++当然可以
C++中除了struct成员默认是public的,而类成员默认是private的,其他没任何区别
所以既然类中能有函数,结构体当然也能有啊。
如果是C语言的话就不可以,如:
#include <iostream>
using namespace std;
struct A
{
int a;
void fun();
};

void A::fun()
{
cout<<"A"<<endl;
}
int main()
{
A b;
b.fun();
return 0;
}
其实就是定义了一个默认为public的类A

【参考】
C++可以
C++中除了struct成员默认是public的,而类成员默认是private的,其他没任何区别。既然类中能有函数,结构体当然也能有。
C语言不可以,如:
#include <iostream>
using namespace std;
struct A
{
int a;
void fun();
};

void A::fun()
{
cout<<"A"<<endl;
}
int main()
{
A b;
b.fun();
return 0;
}
其实就是定义了一个默认为public的类A

C语言结构体中不能包含函数, 只能包含函数指针。
C++的结构体才可以包含函数。

不能,但是C++的类中或结构体中可以

C语言结构体不能包含函数。
结构体也是变量的一种。结构体将具有相同特征的变量类型集合到一起。

struct

u8 age;
u8 sex;