struct MyStrut
{
unsigned char a;
void (*Function)(void);
};
void Function(void)\
{
}
请问在结构体中的函数如何访问本结构体中的成员变量?
10 个解决方案
#1
传个参数进去吧。
void Function(MyStrut*)
void Function(MyStrut*)
#2
直接访问,与类函数访问自己的数据成员是一样的
#3
在函数体重皆可以 用 p->a来调用了
#4
struct MyStrut
{
unsigned char a;
void (*Function)(MyStrut* pMyStrut);
};
void Function(MyStrut* pMyStrut)
{
pMyStrut->a = 3;
}
int main()
{
MyStrut my;
my.Function = *Function;
MyStrut* pmy = &my;
my.Function(pmy);
printf("%d",my.a);
return 0;
}
#5
我想和正常的一样吧,先初始化结构体,在用.运算
#6
和访问变量一样,用.就行
#7
正解
#8
我是想用结构体中的函数指针处理本结构体的成员. 而不是处理该类型结构体中的成员.
#9
就如C++中类成员函数处理本类成员变量就直接用this->a来做.
#10
学习一下!
#1
传个参数进去吧。
void Function(MyStrut*)
void Function(MyStrut*)
#2
直接访问,与类函数访问自己的数据成员是一样的
#3
在函数体重皆可以 用 p->a来调用了
#4
struct MyStrut
{
unsigned char a;
void (*Function)(MyStrut* pMyStrut);
};
void Function(MyStrut* pMyStrut)
{
pMyStrut->a = 3;
}
int main()
{
MyStrut my;
my.Function = *Function;
MyStrut* pmy = &my;
my.Function(pmy);
printf("%d",my.a);
return 0;
}
#5
我想和正常的一样吧,先初始化结构体,在用.运算
#6
和访问变量一样,用.就行
#7
正解
#8
我是想用结构体中的函数指针处理本结构体的成员. 而不是处理该类型结构体中的成员.
#9
就如C++中类成员函数处理本类成员变量就直接用this->a来做.
#10
学习一下!