[問題] 關於Class指標的觀念

看板C_and_CPP (C/C++)作者 (獨立黑色色彩)時間11年前 (2013/08/23 13:22), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/19 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) GCC4.7.2 MinGW64 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) NO 問題(Question): 想請問"寫法1"與"寫法2"的差別是什麼 寫法1: MF2KGMG_operator* GMG_ptr=(MF2KGMG_operator*) GMGID; 寫法2: MF2KGMG_operator* GMG_ptr=(MF2KGMG_operator*)*GMGID; 這是Modflow 的原始碼 下載時他的程式為"寫法2" 但會出現waning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 但 我改成"寫法1"時waning不見了 可是我不懂語法上的義意 問題如下 (1)想請版上的高手這樣改裡面的值會不會一樣? (2)語法上的義意差在哪裡? __ 其中 GMGID與MF2KGMG_operator定義如下 int* GMGID typedef struct MF2KGMG_operator { r_data rd; /* Vector Data */ r_vector r; /* Residual */ r_vector z; /* Head-Change */ GEN_operator CCFD; /* Cell-Centered Finite Difference Matrix */ GEN_operator CCFDMG; /* Multilevel CCFD Operator */ GEN_operator PCG; /* Preconditioned Conjugate Gradient */ double w; /* Relaxation Parameter */ CCFD_operator *CCFD_ptr; /* Pointer to access CCFD operator */ }MF2KGMG_operator; MF2KGMG_operator* GMG_ptr=(MF2KGMG_operator*)*GMGID; MF2KGMG_operator* GMG_ptr=(MF2KGMG_operator*) GMGID; -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.104.111
文章代碼(AID): #1I5l5yGN (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1I5l5yGN (C_and_CPP)