[問題] 請教指標操作方式
開發平台(Platform): (Ex: Win10, Linux, ...)
單晶片開發 PIC18
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
CX8 compiler
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
None
問題(Question):
關於這段code指標的操作覺得不太正常, 想請教版友幫我確認觀念
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
定義與宣告部分:
typdef struct{
int A;
char *data;
} MSG_OBJ
typedef struct{
int B;
char useData[8];
} MSG_OBJ_USE
char globalData[8] = {0};
void getDataFun(MSG_OBJ* b)
{
b->data = globalData;
}
MSG_OBJ_USE obj;
以上是定義與宣告, 接下來呼叫時傳入obj (特別處為obj之type是MSG_OBJ_USE)
getDataFun(&obj);
之後這段code執行
//Step.1
char* ptr = (char*)(*(uint16_t*)obj.useData); //平台指標為16 bits
//Step.2
for(int i=0;i<8;i++);
{
obj.useData[i] = ptr[i];
}
//問題:
Step1.的動作意思是useData array上面放的值是指標, 所以才可以取值(*)給ptr
然後用step2把copy資料.
我的疑問是b->data = globalData應該是把&globalData[0] 指定給b->data而已.
謝謝回答!!
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.184.52 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1655287244.A.D2B.html
推
06/15 18:58,
2年前
, 1F
06/15 18:58, 1F
→
06/15 18:59,
2年前
, 2F
06/15 18:59, 2F
→
06/15 19:02,
2年前
, 3F
06/15 19:02, 3F
→
06/15 19:03,
2年前
, 4F
06/15 19:03, 4F
→
06/16 00:26,
2年前
, 5F
06/16 00:26, 5F
→
06/16 00:26,
2年前
, 6F
06/16 00:26, 6F
→
06/16 00:26,
2年前
, 7F
06/16 00:26, 7F
→
06/16 00:28,
2年前
, 8F
06/16 00:28, 8F
→
06/16 00:28,
2年前
, 9F
06/16 00:28, 9F
推
06/16 09:16,
2年前
, 10F
06/16 09:16, 10F
→
06/16 10:37,
2年前
, 11F
06/16 10:37, 11F
→
06/16 14:02,
2年前
, 12F
06/16 14:02, 12F
推
06/16 20:18,
2年前
, 13F
06/16 20:18, 13F
→
06/16 20:18,
2年前
, 14F
06/16 20:18, 14F
→
06/16 20:18,
2年前
, 15F
06/16 20:18, 15F
推
06/16 20:30,
2年前
, 16F
06/16 20:30, 16F
→
06/16 20:30,
2年前
, 17F
06/16 20:30, 17F
→
06/16 20:30,
2年前
, 18F
06/16 20:30, 18F
→
06/16 20:30,
2年前
, 19F
06/16 20:30, 19F
→
06/16 20:30,
2年前
, 20F
06/16 20:30, 20F
→
06/16 20:30,
2年前
, 21F
06/16 20:30, 21F
→
06/16 20:30,
2年前
, 22F
06/16 20:30, 22F
→
06/16 20:30,
2年前
, 23F
06/16 20:30, 23F
→
06/16 20:30,
2年前
, 24F
06/16 20:30, 24F
→
06/17 02:09,
2年前
, 25F
06/17 02:09, 25F
→
06/17 02:09,
2年前
, 26F
06/17 02:09, 26F
→
06/17 02:12,
2年前
, 27F
06/17 02:12, 27F
推
06/17 07:55,
2年前
, 28F
06/17 07:55, 28F
→
06/17 07:55,
2年前
, 29F
06/17 07:55, 29F
→
06/17 07:55,
2年前
, 30F
06/17 07:55, 30F
→
06/17 10:27,
2年前
, 31F
06/17 10:27, 31F
→
06/17 10:27,
2年前
, 32F
06/17 10:27, 32F
→
06/17 10:27,
2年前
, 33F
06/17 10:27, 33F
推
06/17 17:43,
2年前
, 34F
06/17 17:43, 34F
→
06/17 17:43,
2年前
, 35F
06/17 17:43, 35F
→
06/17 17:43,
2年前
, 36F
06/17 17:43, 36F
→
06/17 17:43,
2年前
, 37F
06/17 17:43, 37F
→
06/17 17:43,
2年前
, 38F
06/17 17:43, 38F
→
06/17 17:43,
2年前
, 39F
06/17 17:43, 39F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章