我有一個結構,我想要做的是使用for循環爲其成員賦值。這樣我就不必使用成員名稱。因爲結構很長,我不想要20行p_struct->member_name
等等。我到目前爲止已經在下面,但是我不確定我是否會朝着正確的方向前進。
在頭文件:將值賦給struct成員而不使用c中的成員名稱?
typedef struct {
int x;
char ch;
...
...
}data;
data g_data;
在.c文件
...
data *p_data;
p_data = &(g_data.x)
for(i=0 till struct_elements) {
*p_data = (some value);
p_data++; //next member
}
如果我使用#pragma pack會有幫助嗎? – infinitloop
比p_struct-> member_name的20行更糟糕的是任何解密你的代碼正在做的事情的解決方案。如果初始化困擾你,將它包裝在一個函數中。 –