[英]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.