If I have the following structure defined:

```
typedef struct bear_t { 
    char* name;
    void (*eat)(struct bear_t* this); 
    void (*drink)(struct bear_t* this); 
    void (*sleep)(struct bear_t* this); 
    void (*study)(struct bear_t* this); 
    void (*live)(struct bear_t* this); 
    void (*dtor)(struct bear_t* this); 
    int health;
    int happiness; 
} bear_t;

```

In a bear\_t\* create\_bear(void) method, I want to do the following:

* Create a new bear with malloc
* Initializes the bear’s eat, drink, sleep, and live functions to the default values (eat\_fish, drink\_water, sleep\_lots, live).
* Initializes the study function to NULL, since default bears don’t know how to study.
* Initializes the bear’s health and happiness to 0.
* Initializes the bear’s destructor (dtor) field to delete\_bear.
* Sets the bear’s name to “bear” (bear->name=”bear” is sufficient).
* Returns the bear to the caller.

How would I initialize the functions?