作者MaxHaru (懂得放手..才是王道)
看板C_and_CPP
标题[问题] struct call by reference
时间Sat Nov 12 17:49:41 2016
开发平台(Platform): (Ex: Win10, Linux, ...)
8051
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
C51
问题(Question):
请问如何透过call by reference将struct中的pointer member传给function
例如:
typedef struct _AA
{
unsigned char Addr;
unsigned char bIndex;
unsigned char bLenAddrW;
unsigned char *pDatAddrW;
unsigned char bFlag; //bit0: Notify Busy
//bit1: CmdByte Get
//bit2: Address Write
}_AAA;
unsigned char Dat[10];
void func1(unsigned char*pLenAddrW, unsigned char**ppDatAddrW)
{
*pLenAddrW = aaa;
*ppDatAddrW = Dat;
}
void main(void)
{
_AAA AAA;
_AAA*pAAA = &AAA;
func1(???, ???); //请问要怎麽透过pAAA将struct member的Address传给func1??
}
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.226.177.132
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1478944184.A.531.html
※ 编辑: MaxHaru (36.226.177.132), 11/12/2016 18:01:36
1F:→ stupid0319: func1(&(pAAA->bLenAddrW),&(pAAA->pDatAddrW)); 11/12 18:18
2F:→ MaxHaru: 明白了, 十分感谢.. 11/12 20:52
3F:推 azter: 1F, 喂给func1的第一个参数多了“&”? 11/15 07:49
4F:→ hunandy14: 关键字 传参考 11/15 16:27
5F:推 LPH66: >azter 原 PO 就是要传指标进去改值 11/15 21:50
6F:→ LPH66: >hunandy14 纯 C 的话没有传参考这回事喔, 只能这麽做 11/15 21:50