C语言 第九章 结构体

[TOC]

第九章结构体

结构体的定义

#include<stdio.h>
#include<string.h>
struct Student {
    int num;
    char name[20];
    char sex;
    char addr[30];
};
int main() {
    struct Student stu_1;
    stu_1.num=1001;
    strcpy(stu_1.name,"xiaoming");
    stu_1.sex='F';
    strcpy(stu_1.addr,"shanxi");
    printf("%d\t%s\t%c\t%s\n",stu_1.num,stu_1.name,stu_1.sex,stu_1.addr);

    struct Student st[5]= { {1001,"xiaoming",'M',"shanxi" },
        {1002,"zhangdong",'F',"beijing" },
        {1003,"wangwu",'M',"xizang" },
        {1004,"lisi",'F',"fujian" },
        {1005,"zhaodong",'M',"nanjing" }
    };
    for(int i=0; i<5; i++) {
        printf("%d\t%s\t%c\t%s\n",st[i].num,st[i].name,st[i].sex,st[i].addr);
    }
    return 0;
}



结构体定义2

#include<stdio.h>
#include<string.h>
struct Student {
    int num;
    char name[20];
    char sex;
    char addr[30];
} stu_1= {1001,"zhangsan",'M',"shanxi"};
int main() {
    printf("%d\t%s\t%c\t%s",stu_1.num,stu_1.name,stu_1.sex,stu_1.addr);
    return 0;
}

指针表示结构体

#include<stdio.h>
struct Student {
    int num;
    char name[20];
    char sex;
    char addr[30];
} stu_1= {1001,"zhangsan",'M',"shanxi"};
int main() {
    struct  Student *s;
    s=&stu_1;//两种方式通过指针 表示数据
    printf("%d\t%s\t%c\t%s\n",(*s).num,(*s).name,(*s).sex,(*s).addr);
    printf("%d\t%s\t%c\t%s\n",s->num,s->name,s->sex,s->addr);
    return 0;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容