マクロの引数によって取ってくる変数を選ぶ
Posted: 2013年4月16日(火) 21:01
C言語のマクロで、引数によって持ってくる構造体を選ぶようなことはできますか?
やりたいことは下記のような感じです
構造体に番号がついていて指定した番号の構造体が取得したいです
配列じゃなくて、マクロでやりたいのです
好きな番号の構造体の値が取ってこれれば、出力はポインタでもコピーでも何でも良いのですが・・・
どなたか分かる方いましたらご教授いただけますと幸いです
:
:
typedef struct _HOGE {
[tab=30]int value;
}HOGE
HOGE hoge1;
HOGE hoge2;
HOGE hoge8;
void main(void) {
[tab=30]HOGE *hoge_local;
[tab=30]hoge1->value = 1;
[tab=30]hoge2->value = 2;
[tab=30]hoge8->value = 8;
[tab=30]hoge_local = GET_MACRO(8); /* こんな感じでhoge8の内容が取りたい */
[tab=30]printf("value = %d", hoge_local->value); /* こんな感じでvalue=8と出力されてほしい */
}
やりたいことは下記のような感じです
構造体に番号がついていて指定した番号の構造体が取得したいです
配列じゃなくて、マクロでやりたいのです
好きな番号の構造体の値が取ってこれれば、出力はポインタでもコピーでも何でも良いのですが・・・
どなたか分かる方いましたらご教授いただけますと幸いです
:
:
typedef struct _HOGE {
[tab=30]int value;
}HOGE
HOGE hoge1;
HOGE hoge2;
HOGE hoge8;
void main(void) {
[tab=30]HOGE *hoge_local;
[tab=30]hoge1->value = 1;
[tab=30]hoge2->value = 2;
[tab=30]hoge8->value = 8;
[tab=30]hoge_local = GET_MACRO(8); /* こんな感じでhoge8の内容が取りたい */
[tab=30]printf("value = %d", hoge_local->value); /* こんな感じでvalue=8と出力されてほしい */
}