首頁>技術>

結構體(類)中的匿名欄位的型別,也可以是指標。

例如:

輸出結果:

輸出了結構體的地址。如果要取值,可以進行如下操作:

在定義物件s時,完成初始化,然後透過”.”的操作完成成員的操作。

但是,注意以下的寫法是錯誤的:

大家可以思考一下,以上程式碼為什麼會出錯?

會出錯,錯誤資訊如下:

invalid memory address or nil pointer dereference

翻譯成中文:無效的記憶體地址或nil指標引用

意思是*Person沒有指向任何的記憶體地址,那麼其預設值為nil.

也就是指標型別匿名欄位*Person沒有指向任何一個結構體,所以物件s也就無法操作Person中的成員。

 

具體的解決辦法如下:

new( )的作用是分配空間,new()函式的引數是一個型別,這裡為Person結構體型別,返回值為指標型別,所以賦值給*Person,

這樣*Person也就指向了結構體Person的記憶體

7
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Springcloud之gateway配置及swagger整合