2012-02-27 11 views
5

C#.NETで私はList<myclasstype> vals = new List<myclasstype>();を使用することができますそれはCと同等ですか?私の構造体型で配列を作る方法は?

私のような構造体があります。

typedef struct foo { 
    int x; 
    int y; 
} Baa; 

をし、私がやる欲しい:

**BAA vals = ?? 
int i ; 
for(i = 0; i < size; i++) 
{ 
    vals[i].x = i; 
    vals[i].y = i * 10; 
} 

私はこれがあなたのために明らかであると思います。前もって感謝します。

答えて

6

それはあなたのタイプはあなたがまた、これを実現するために、ポインタやmalloc関数を使用することができますBaa

int size = 5; 
Baa baaArray[size]; 

int i; 
for(i = 0; i < size; i++) 
{ 
    baaArray[i].x = i; 
    baaArray[i].y = i*10; 
} 

に置き換えられていることを除き、Cの他の配列を作成するのと同じです:

int size = 5; 
Baa *baaPtr = malloc(sizeof(Baa) * size); 

//... 

お役に立てれば。

+0

可変サイズの配列を使用すると、コードC99が自動的に作成されます - それをサポートするコンパイラを使用してください。 –

+0

コンパイル時に 'size'の長さが分からないでしょうか?私はそれを5と宣言して以来? –

+0

'size'は' const'として明示的に宣言されていません。 –

関連する問題