New to structs for C, can someone help me define these structs? : <p>Im still very new to C but slowly learning and I know how basic structs work, but Im learning about these new ones. How exactly do I use them and how do they work memory wise? </p>

<p>Would greatly appreciate it</p>

<p>struct within a struct??</p>

<pre><code>struct Multi {
   int which;
     union 
     {
       float f;
       double d;
       int i;
     } data;
};
</code></pre>

<p>struct pointing to itself?</p>

<pre><code>typedef struct Other {
    double x;
    int* y[2];
    struct Other* z;
} Other;
</code></pre>

<p>this thing</p>

<pre><code>typedef int const * (* const CallMe)(const int *);
</code></pre>

<p>more </p>

<pre><code>typedef union {
    void (*theta)();
    void *(*iota)();
} Kappa;
</code></pre>

<p>Would greatly appreciate it. </p>

<p>If an example could be given like how to declare and initialize a single variable of that type, that would be great. I like working backkwards to try them out my self.</p>
