代码改变世界

C语言结构体和联合

2015-12-03 22:42  AB小博客  阅读(282)  评论(0)    收藏  举报

因为要用到strcpy() 在头文件要加入#include <string.h>

#include <stdio.h>

#include <string.h>

struct {

    int age;

    char name[10];

    int pi;

}person;        //  可以直接引用

typedef  struct {

    int age;

    char name[10];

    int pi;

}person1;   //  需要实例化对象

 

//联合的定义  和结构体差不多 就是使用的时候只能同时存在一种变量  可以使用实例化多个对象获得多个不同的变量

union{

    int age;

    char name[10];

    int pi;

}per;

typedef union{

    int age;

    char name[10];

    int pi;

}per1;

 

 struct person2{            //引用时需要在前面加   struct person2

    int age;

    char name[10];

    int pi;

};

 

int main(int argc, const char * argv[]) {

    person.age = 50; //  可以直接引用

    person1 p1,p2; //需要实例化对象

    struct person2 p3; //需要在前面加struct

    

    struct person2 person[3];

    person[1].age = 30;

    strcpy(person[1].name, "jack");

    person[1].pi = 40;

 

    person[0].age = 34;

    strcpy(person[1].name, "tom");

    person[0].pi = 42;

  

    return 0;

}