05 结构体与结构体指针数组

Android Ndk 学习笔记(目录)

struct Person1 {

    char * name;
    char * sex ;
    int age ;

} p2 ,
p3 = {"张晓红","女",22};

void UsePerson1(){


    struct Person1 p1 ;

    p1.name = "南尚";
    p1.sex = "男";
    p1.age = 31;

    printf("name:%s, age:%d, sex:%s \n", p1.name, p1.age, p1.sex);
    printf("name:%s, age:%d, sex:%s \n", p3.name, p3.age, p3.sex);

}
E:\C\Project\C01\cmake-build-debug\C01.exe
name:南尚, age:31, sex:男
name:张晓红, age:22, sex:女

Process finished with exit code 0
struct Book{
    char* bookname;
};

struct Student{

    char * name ;
    struct Book book;

    struct Xuexi{
        char * xuexi;
        int num ;
    } xuexi;
};

void useStudent(){

    struct Xuexi xuexi = {"上课",20};

    struct Student stu1 = {"王安安",{"C语言"},xuexi};
    struct Student stu2 = {"舞哈",{"java"},{"上课",80}};

    printf("01 -------   student name:%s, book:%s, xuexi:%s num:%d \n", stu1.name, stu1.book.bookname,stu1.xuexi.xuexi,stu1.xuexi.num);

    struct Student * stu3 = &stu1;

    stu3->name = "李鲁斯";
    stu3->book.bookname = "Double";
    stu3->xuexi.num = 1241;
    stu3->xuexi.xuexi = "哦哈哈";


    printf("02 -------   student name:%s, book:%s, xuexi:%s num:%d \n", stu1.name, stu1.book.bookname,stu1.xuexi.xuexi,stu1.xuexi.num);
    printf("03 -------   student name:%s, book:%s, xuexi:%s num:%d \n", stu2.name, stu2.book.bookname,stu2.xuexi.xuexi,stu2.xuexi.num);

    printf("04 -------   student name:%s, book:%s, xuexi:%s num:%d \n", stu3->name, stu3->book.bookname,stu3->xuexi.xuexi,stu3->xuexi.num);

}
01 -------   student name:王安安, book:C语言, xuexi:上课 num:20
02 -------   student name:李鲁斯, book:Double, xuexi:哦哈哈 num:1241
03 -------   student name:舞哈, book:java, xuexi:上课 num:80s
04 -------   student name:李鲁斯, book:Double, xuexi:哦哈哈 num:1241


Process finished with exit code 0	
struct Cat3 {
    char name[10];
    int age;
};


void useCat3(){


    // 栈区 静态范畴
    struct Cat3 cat [10] = {
            {"黄1111", 1},
            {"白1111", 2},
            {"黑1111", 3},
            {},
    };


    struct Cat3 * cat02 = &cat[1];

    printf("name:%s, age:%d \n", cat[2].name, cat[2].age);
    printf("name:%s, age:%d \n", cat02->name,cat02->age);
    struct Cat3 cat04 = {"金额",123};


    printf("name:%s, age:%d \n", cat04.name, cat04.age);


    struct Cat3 * cat05 = malloc(sizeof (struct Cat3)*2);

    strcpy(cat05->name,"wanghha");
    cat05->age = 242 ;
    printf("name:%s, age:%d \n", cat05->name, cat05->age);
    cat05+= 1 ;
    strcpy(cat05->name,"撸哈哈");
    cat05->age = 24422 ;
    printf("name:%s, age:%d \n", cat05->name, cat05->age);



    free(cat05);
    cat05 = NULL;
}
E:\C\Project\C01\cmake-build-debug\C01.exe
name:1111, age:3
name:1111, age:2
name:金额, age:123
name:wanghha, age:242
name:撸哈哈, age:24422
name:答复, age:22

Process finished with exit code 0
struct Wordker{
    char name[10];
    int age;
    char sex;
};


typedef struct Wordker Wordker;


void useTypeDef(){

    Wordker wordker = {"阿萨德",12,'1'};
    printf("name:%s, age:%d sex:%c\n", wordker.name, wordker.age,wordker.sex);
    Wordker wordker2 = {"阿萨德大多数",122,'3'};
    Wordker * wordker2_p = &wordker2;
    printf("name:%s, age:%d sex:%c\n", wordker2_p->name, wordker2_p->age,wordker2_p->sex);

}
E:\C\Project\C01\cmake-build-debug\C01.exe
name:阿萨德, age:12 sex:1
name:阿萨德大多%z, age:122 sex:3

Process finished with exit code 0
typedef enum {

    YUWEN = 10,
    SHUXU,
    YINYU


} KeCheng;

typedef struct {

    char * name ;
    int age ;
    char * sex ;

} Person;


void usePersonAndKecheng(){
    KeCheng  yuwen = YUWEN;
    KeCheng  shuxu = SHUXU;

    printf("%d ,%d\n",yuwen,shuxu);

    Person zhangsan = {"张三",34,"男"};
    Person lisi = {"李四",28,"男"};
    Person wangying = {"王莹",22,"女"};

    printf("姓名 : %s 年龄 :%d 性别 %s\n",zhangsan.name,zhangsan.age,zhangsan.sex);
    printf("姓名 : %s 年龄 :%d 性别 %s\n",lisi.name,lisi.age,lisi.sex);
    printf("姓名 : %s 年龄 :%d 性别 %s\n",wangying.name,wangying.age,wangying.sex);

}

E:\C\Project\C01\cmake-build-debug\C01.exe
10 ,11
姓名 : 张三 年龄 :34 性别 男
姓名 : 李四 年龄 :28 性别 男
姓名 : 王莹 年龄 :22 性别 女

Process finished with exit code 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值