结构体中的函数如何访问本结构体中的成员变量?

cokeliu 2010-12-16 10:39:48
我在C语言中一个结构体中
struct MyStrut
{
unsigned char a;
void (*Function)(void);
};

void Function(void)\
{
}
请问在结构体中的函数如何访问本结构体中的成员变量?
...全文
1095 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tujiawei2006412212 2010-12-16
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hnuqinhuan 的回复:]

引用 1 楼 pengzhixi 的回复:
传个参数进去吧。
void Function(MyStrut *p)

在函数体重皆可以 用 p->a来调用了
[/Quote]
正解
zhanghuayi_xiyou 2010-12-16
  • 打赏
  • 举报
回复
和访问变量一样,用.就行
bobo364 2010-12-16
  • 打赏
  • 举报
回复
我想和正常的一样吧,先初始化结构体,在用.运算
bdmh 2010-12-16
  • 打赏
  • 举报
回复

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;

}
無_1024 2010-12-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 pengzhixi 的回复:]
传个参数进去吧。
void Function(MyStrut *p)
[/Quote]
在函数体重皆可以 用 p->a来调用了
就想叫yoko 2010-12-16
  • 打赏
  • 举报
回复
直接访问,与类函数访问自己的数据成员是一样的
pengzhixi 2010-12-16
  • 打赏
  • 举报
回复
传个参数进去吧。
void Function(MyStrut*)
lxiron 2010-12-16
  • 打赏
  • 举报
回复
学习一下!
cokeliu 2010-12-16
  • 打赏
  • 举报
回复
就如C++中类成员函数处理本类成员变量就直接用this->a来做.
cokeliu 2010-12-16
  • 打赏
  • 举报
回复
我是想用结构体中的函数指针处理本结构体的成员. 而不是处理该类型结构体中的成员.

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧