作者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/m.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