簡體   English   中英

c如何在結構中創建動態數組指針

[英]c how to make a dynamic array pointer in a struct

我正在接受用戶輸入的數組中元素的數量。 該數組在我的結構“ Polymer”中

struct Polymer
{
    int length;

    struct Monomer *monomer;

}polymer;

總的來說,我正在創建一個新的單體數組指針,並將“聚合物”中的單體指針設置為其

struct Monomer *monomers[size];
polymer.monomer = momomers;

我收到錯誤“我從不兼容的指針類型分配”,我認為這是因為我們正在將單體數組指針轉換為單體。 如何在結構中將其聲明為單體數組指針?

當您可能需要一個單體數組時,您將聲明一個單體指針 數組 刪除*

struct Monomer monomers[size];
polymer.monomer = momomers;
struct Monomer *monomers[size];
polymer.monomer = momomers;

monomers是一個指針數組 它們沒有指向任何有效位置,並且具有垃圾值。 Polymer::monomer指針 指針數組不僅僅與指針兼容。

而是嘗試-

struct Monomer monomers[size];
polymer.monomer = momomers;  // 2

現在,該語句2是有效的,因為數組會衰減為指針。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM