地方エンジニアの学習日記

興味ある技術の雑なメモだったりを書いてくブログ。たまに日記とガジェット紹介。

構造体の中の構造体

構造体の中のポインタ変数をもつ構造体から各々のメンバに値を代入したい

構造体のメンバーについても、その配列数などが前もって定まらない場合は、 そのメンバをポインタ(必要であればポインタのポインタ)にしておいて、 構造体を確保した後でそのメンバについて領域確保が必要なことに注意して ください。

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

typedef struct proc_end {
        int __uid;
} proc_end;

typedef struct proc_tsk {
        int __pid;
        unsigned short __head_link;
        proc_end *pe;
} proc_tsk;

int main (int argc, char **argv)
{
        proc_tsk *p = malloc(sizeof(proc_tsk));
        p->pe = malloc(sizeof(proc_end));

        p->pe->__uid = 20;
        fprintf(stdout, "%d\n", p->pe->__uid);
}