如何用我的结构类型创建一个数组?

时间:2012-02-27 05:42:17

标签: c arrays data-structures

在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;
}

我希望这对你来说很清楚。提前谢谢。

1 个答案:

答案 0 :(得分:6)

与在C中创建任何其他数组相同,只是该类型被替换为Baa

int size = 5;
Baa baaArray[size];

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

您还可以使用指针和malloc来实现此目的:

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

//...

希望这有帮助。