c语言中的结构体变量

#include 
#include
//结构体变量的使用
/*结构体变量对成员的调用方式:
 * 结构体变量.结构体成员
 * 注意:这里说的结构体变量说的是普通结构体变量
 *
 */
    struct stu{
     int id;
     char name[32];
     char sex;
     char age;

    }zhangsan,lisi={1001,"lisi",'A',20};
    //typedef
    typedef struct {
     int id;
     char name[32];
     char sex;
     char age;

    }MSG;
    void test(){
        struct stu wangwu;
        struct stu zhaoliu={1001,"zhoaliu",'B',20};


        MSG msg1,msg2={1001,"lisi",'A',20};
        zhangsan.id=1001;
        strcpy(zhangsan.name,"zhangsan");
        zhangsan.sex ='B';
        zhangsan.age=18;
        printf("%d-%s-%c-%d\n",zhangsan.id,zhangsan.name,zhangsan.sex,zhangsan.age);
         printf("%d-%s-%c-%d\n",lisi.id,lisi.name,lisi.sex,lisi.age);
          printf("%d-%s-%c-%d\n",zhaoliu.id,zhaoliu.name,zhaoliu.sex,zhaoliu.age);
          printf("%d-%s-%c-%d\n",msg2.id,msg2.name,msg2.sex,msg2.age);
    }
//在结构体中嵌套结构体
typedef struct{
//    里面的变量是没有空间的,我们只是定义了类型,不能赋值的
    int year;
    int month;
    int day;
}BD;

typedef  struct{
    int id;
    char name[32];
    BD birthday;
}STU;
void test1(){
    STU xiaoming;
    xiaoming.id=1001;
    strcpy(xiaoming.name,"xiaoming");
//    如果结构体中嵌套结构体,赋值时找到最内层的成员再进行赋值
    xiaoming.birthday.year=2002;
    xiaoming.birthday.month=12;
    xiaoming.birthday.day=10;
   printf("%d-%s-%d:%d:%d\n",xiaoming.id,xiaoming.name,xiaoming.birthday.year,xiaoming.birthday.month,xiaoming.birthday.day);
}
int main()
{

    test();
    test1();
    return 0;
}

你可能感兴趣的:(c语言,开发语言)