C编程:在函数内部创建结构的实例

时间:2018-12-18 23:31:30

标签: c struct

我有一个函数void createObject(int color, char value) 每次我调用此函数时,都会有一个对象

struct Object
{
  int color_;
  char val_;
};

必须在此函数内创建。做这个的最好方式是什么?有人可以给我一个例子吗?编辑:是否有可能将这些对象收集在列表和/或数组中?

1 个答案:

答案 0 :(得分:0)

#include <stdio.h>
#include <stdlib.h>

typedef struct Object
{
    int color_;
    char val_;
} Object;

Object* createObject(int color, int value) {
    Object* o = malloc(sizeof(*o));
    o->color_ = color;
    o->val_ = value;
    return o;
}

int main(int argc, char** argv) {
    Object* olist[10];
    olist[0] = createObject(1, 1);
    printf("%d:%d", olist[0]->color_, olist[0]->val_);
}