簡體   English   中英

用C中的結構指針進行數組分配

[英]Array assignment with struct pointers in C

我需要持有一個動態的結構數組。

類型是這樣定義的。 我無法更改它們,因為它們是由稱為flint的庫(快速數論的庫)提供的。

typedef struct
{
    mp_ptr coeffs;
    slong alloc;
    slong length;
    nmod_t mod;
} nmod_poly_struct;

typedef nmod_poly_struct nmod_poly_t[1];

和我的結構是這樣定義的:

typedef struct {
    mp_limb_t D;
    mp_limb_t length;
    nmod_poly_t *s;
} she_key_symmetric_t;

所以我的問題是持有一組nmod_poly_t對象。 我初始化它們,並希望將它們存儲在數組中。

nmod_poly_t poly;
nmod_poly_init(poly);

she_key_symmetric_t key;
// init and stuff
key.s[0] = poly; // This line does not work, because 
// it always says "array type 'nmod_poly_t' (aka 
// 'nmod_poly_struct[1]') is not assignable"

在下一步中,我必須將值從數組中取出

she_key_symmetric_t key;
// fully initialized key
nmod_poly_t poly = key.s[0]; 

那么,如何做我需要聲明我的動態數組S存儲里面我strucs?

提前致謝

假設為key.s正確分配了key.s並進行了初始化, key.s工作將起作用

nmod_poly_t poly; 
poly[0] =key.s[0][0];

暫無
暫無

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

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