→ stupid0319: 就取那個記憶體位置的BYTE值不是嗎.......... 12/08 09:58
→ stupid0319: Q1,你可以試著把int* char*,當作一個type來理解 12/08 10:00
→ colako: Q1: param 從型態未定的指標 void* 轉型成 int 指標 12/08 10:44
→ colako: 再賦值給區域變數 state 12/08 10:44
→ colako: Q2:status從某個記憶體位置取值,那個位置在 p_evt_buf+1+ 12/08 10:48
→ colako: + 某固定 Offset, 你問差異一個等號右邊是值,另一是指標 12/08 10:51
※ 編輯: blueguan (36.225.32.24), 12/08/2016 13:45:42
→ stupid0319: 看這問題應該是用LINUX開發Android NDK 12/08 18:35
→ blueguan: 感謝兩位~~~所以我可以這樣看. 12/08 23:28
→ blueguan: Q1). void *param沒有設type. int *state=(int *)param 12/08 23:30
→ blueguan: 就是將param的byte設成 int,並且*state就是存這些byte 12/08 23:31
→ blueguan: Q2). 想請問p_evt_buf+1, 就是指p_buf[0]下一個位置為 12/08 23:33
→ blueguan: p_evt_buf[1] 嗎? 12/08 23:33
※ 編輯: blueguan (220.135.202.47), 12/08/2016 23:34:48
→ mibu945: 看你理解的有點詭異。 指標只是 12/13 00:04
→ mibu945: 存位址的變數 12/13 00:04
推 mibu945: (1) state param 裡面會存相同位址 12/13 00:08
→ mibu945: 只是*state 會取出 一個integer 12/13 00:09
→ mibu945: (2) 是 p_evt_buf[1] 的位址 + 你offset 個byte 的位址 12/13 00:16
→ mibu945: 然後取uint_8_t(一個byte)的值 12/13 00:18
→ mibu945: 話說你第一點的理解 等號兩邊都反了 希望你只是筆誤 12/13 01:16