[問題] qsort

看板C_and_CPP (C/C++)作者 (人間失格)時間14年前 (2011/08/21 13:51), 編輯推噓2(205)
留言7則, 4人參與, 最新討論串2/3 (看更多)
關於qsort的程式碼會有一個compare的函示 int com(const void *a,const void *b) { int c,d; c=*(int*)(a); d=*(int*)(b); if(c!=d) return c>d?1:-1; return 0; } 我想請問的是c=*(int*)(a); 這一行不知道是什麼意思? --

06/08 01:23,
樓下你猜marklin的雞雞等下會怎麼樣?
06/08 01:23

06/08 01:23,
========================會爆==========================
06/08 01:23

06/08 01:23,
未看先猜樓下馬克林
06/08 01:23

06/08 01:23,
1FGJ
06/08 01:23

06/08 01:24,
1F XDDDDDDDDDDDDDDD
06/08 01:24

06/08 01:25,
06/08 01:25
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.200.13

08/21 13:53, , 1F
分開寫就是 int *p = (int *)a; int val = *a;
08/21 13:53, 1F

08/21 13:53, , 2F
      int *p = (int *)a; int val = *p;
08/21 13:53, 2F

08/21 13:54, , 3F
int *p = (int *)a; int c = *p; 配合原本的c
08/21 13:54, 3F

08/21 14:48, , 4F
意思是把 a 視為指向 int 的指標,而把所指的 int 存到 c
08/21 14:48, 4F

08/21 14:56, , 5F
a 是 void * 把它轉型成int *
08/21 14:56, 5F

08/21 14:57, , 6F
原po不懂的是C語言轉型的語法吧
08/21 14:57, 6F

08/21 14:57, , 7F
void * 類型的指標不能直接 dereference,必須先轉型
08/21 14:57, 7F
嗯嗯我了解了謝謝^^ 以前都只知道用不知道為什麼> < ※ 編輯: flere 來自: 140.114.200.13 (08/21 17:47)
文章代碼(AID): #1EK9p_8j (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1EK9p_8j (C_and_CPP)