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

标签 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;
}

希望您清楚这一点。提前致谢。

最佳答案

除了类型被替换为 Baa

之外,它与您在 C 中创建任何其他数组相同
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);

//...

希望这对您有所帮助。

关于c - 如何用我的结构类型创建一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9460537/

相关文章:

java - 链表的 getlast() 中出现 NullPointerException

java - 将 PHP 数组数据结构移植到 Java 中

c - *str 和 *str++

c - SYSTEM 调用执行后的段错误

c - 在 C 中过滤 XY 数组

c - 捕获输入文本后 Scanf 不会继续

c - Sqlite:为查询结果创建新表并保留原始模式

javascript - 更快地找到具有频率值的二维关键字数组的出现

javascript - 将长的 JavaScript 数组传递给代码隐藏?

C++ - 最小堆实现和后序遍历