[問題] 指標+反向?

看板C_and_CPP (C/C++)作者 (shiyeh)時間14年前 (2012/03/05 17:49), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
不好意思 我做實驗遇到一些程式問題 先發來這個版上問問看 = = -------------------------------- 這個是網路模擬器(NS2.34)的程式 Packet* search_p = q_->head(); //先宣告一個指標變數,並且指向 q_->head() ?? if (!search_p) <==這裡 指標+反向@@? q_->enqueHead(p); else { Packet* last_rt_p = 0; bool end_of_queue_reached = 0; struct hdr_cmn *ch = HDR_CMN(search_p); while ((ch->ptype()==PT_{name of your routing protocol}) && (!end_of_queue_reached)) <==這邊前面宣告為布林代數,又反向? { if (!search_p->next_) end_of_queue_reached = 1; else { last_rt_p = search_p; search_p = search_p->next_; } }//of the while loop ... } -------------------------------- 不知道可不可以拿某段程式出來問各行的意思 有違板規自D 先謝謝各位^^ 試了才發現目前禁止自刪 冏 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.18.53.139 ※ 編輯: shiyeh 來自: 163.18.53.139 (03/05 17:50)

03/05 17:54, , 1F
那是邏輯運算,裡面數字!=就為true,然後再!變false
03/05 17:54, 1F

03/05 17:54, , 2F
那行表示說指標不為null
03/05 17:54, 2F

03/05 17:55, , 3F
if(!search_p) 等同於 if(search_p != NULL)
03/05 17:55, 3F

03/05 22:00, , 4F
C/C++可以把變數當作真假值,當數值不為0則傳回真
03/05 22:00, 4F

03/05 22:01, , 5F
!只是把這個真假值反向,不是反向指標的值
03/05 22:01, 5F
文章代碼(AID): #1FL8mect (C_and_CPP)
文章代碼(AID): #1FL8mect (C_and_CPP)