ANYSIZE_ARRAY
の目的はWinNT.hにありますか?<winnt.h>のANYSIZE_ARRAYの目的は何ですか?
私は2004年からのMSDNのブログ記事を見ていますが、それは私には意味がありません。 this pageから
ANYSIZE_ARRAY
の目的はWinNT.hにありますか?<winnt.h>のANYSIZE_ARRAYの目的は何ですか?
私は2004年からのMSDNのブログ記事を見ていますが、それは私には意味がありません。 this pageから
私はあなたが話していると仮定しますとthis blog post。
可変サイズ(コンパイル時に不明)のアレイは、構造体の一部である場合にはしばしば使用されます。
typedef struct {
int CommonFlags
int CountOfThings;
THING Things[ANYSIZE_ARRAY]; //Things[1];
} THINGSANDFLAGS;
これらの構造で作業するには、多くの場合、最初のサイズを取得するために必要なAPIを呼び出しますデータを取得し、十分な大きさのメモリブロックを割り当て、最後に同じAPIを呼び出してデータを書き込むことができます。
:Cで
は、可変サイズアレイは
ANYSIZE_ARRAY
が1
として定義されるa[1]
又はa[ANYSIZE_ARRAY]
、として宣言されます。あたかもそれがより大きいかのように使用されます。
MSDNブログ記事へのリンクをお願いしますか? –
@Agnel http://blogs.msdn.com/b/oldnewthing/archive/2004/08/26/220873.aspx – jglouie