c言語における構造体の定義、初期化及びメモリ割り当て


#include <stdio.h>



struct person

{

    char *name;

    int age;

};



int main()

{

    

    ////            

    

//    struct person

//    {

//        char *name;

//        int age;

//    };

    

    struct person p1;

    

    ////person                ,  8   ,

    //     int  4   ,

    //     person           16  

    printf("sizeof(p1)=%lu
",sizeof(p1)); p1.name = "jack"; p1.age = 18; printf("p1.name = %s
",p1.name); printf("p1.age = %d
",p1.age); struct person p2 = {"rose",20}; printf("p2.name = %s
",p2.name); printf("p2.age = %d
",p2.age); /* , p3 , p3 , struct person p; p={"name",10}; */ return 0; }

結果
sizeof(p1)=16

p1.name = jack

p1.age = 18

p2.name = rose

p2.age = 20