typedef結(jié)構(gòu)體指針 如何將該指針指向的結(jié)構(gòu)體賦值給另一個結(jié)構(gòu)體實例呢?
如何將該指針指向的結(jié)構(gòu)體賦值給另一個結(jié)構(gòu)體實例呢?你好,我是yfghf25990。我很高興為你回答。是的,讓我們看看下面的例子#include<stdio。H>struct x{int Ma
如何將該指針指向的結(jié)構(gòu)體賦值給另一個結(jié)構(gòu)體實例呢?
你好,我是yfghf25990。我很高興為你回答。是的,讓我們看看下面的例子#include<stdio。H>struct x{int Ma int MB double MC}int main(){struct x a={1,2,3.3}struct x B={2,4,6.6}printf(“a.Ma={D”ta.mb=%d個 ta.mc=%lfn,a.ma,a.mb,a.mc)printf(“b.ma=%d”tb.mb=%d個 tb.mc=%lfn,b.ma,b.mb,b.mc)b=a printf(“b.ma=%d”tb.mb=%d個 tb.mc=%lfN,B.Ma,B.mb,b、 mc)return 0}輸出a.ma=1 a.mB=2 a.mc=3.300000 b.ma=2 b.mB=4 b.mc=6.600000 b.ma=1 b.mB=2 b.mc=3.300000更多專業(yè)科普知識,歡迎關(guān)注我。如果你喜歡我的回答,也請給我表揚或轉(zhuǎn)發(fā),你的鼓勵是支持我寫下來的動力,謝謝。
c 里面,傳入一個結(jié)構(gòu)體指針,如何將該指針指向的結(jié)構(gòu)體賦值給另一個結(jié)構(gòu)體實例呢?
“不知道結(jié)構(gòu)的具體定義”是否意味著沒有相應(yīng)的頭文件?如果是這種情況,則無法通過指針直接訪問opaque的實例,除非此結(jié)構(gòu)定義的庫還提供相應(yīng)的API操作,例如復(fù)制和修改。其原因可能是設(shè)計中有意保留了結(jié)構(gòu)變化的靈活性。例如,當(dāng)您需要添加一個新成員(intz)時,它對客戶代碼沒有影響。當(dāng)庫升級時,實現(xiàn)此目標(biāo)的所有其他黑客手段都可能導(dǎo)致代碼中的未定義行為。如果有一個定義,就更容易不想一個接一個地賦值。PLD struct應(yīng)該有一個默認(rèn)構(gòu)造函數(shù)。您可以嘗試使用message MS1(*MS);或者message MS1=*MS,默認(rèn)情況下是淺拷貝。純值問題不大,但當(dāng)有指針在其中時,情況就非常復(fù)雜了。您需要避免MS1的操作影響MS pointer的內(nèi)容。在這種情況下,編譯器將發(fā)出警告。