美文网首页
C语言实战开发篇-7 结构体

C语言实战开发篇-7 结构体

作者: MRJMORIARTY | 来源:发表于2019-12-18 17:32 被阅读0次

结构体

1.为什么需要结构体
int float char等基本数据类型只能存单个数据
int num[],运用数组只能存同类型数据
而结构体类型可以保存多种数据。
2.结构体的定义

#include<stdio.h>
struct studentinfo{
    unsigned int num;
    char name[20];
    char sex[5];
    unsigned int age;
    double score;
    char address[20];   
};

3.定义结构体变量

#include<stdio.h>
struct studentinfo{
    unsigned int num;
    char name[20];
    char sex[5];
    unsigned int age;
    double score;
    char address[20];   
};
studentinfo stu1,stu2;

4.结构体变量的访问
“.”运算符或“->”结构体指针运算符

#include<stdio.h>
struct studentinfo{
    unsigned int num;
    char name[20];
    char sex[5];
    unsigned int age;
    double score;
    char address[20];   
} stu1, *p=&stu1;
stu1.age=18;
p->num=222018;

结构体练习,实现按成绩降序输出

#include<stdio.h>
#include<iomanip>
struct studentinfo{
    unsigned int num;
    char name[20];
    char sex[5];
    unsigned int age;
    double score;
    char address[20];
    
}; 
studentinfo stu [3]={//定义结构体数组
    {222018,"qwe","man",19,99.5,"sc"},
    {222019,"wer","wom",20,98.5,"zg"},
    {222020,"ert","man",21,99,"sc"}
};
studentinfo *p=stu;
void fun(){
    printf("学 号|姓 名|性 别|年 龄|成 绩|地 址\n"); 
} 
int main()
{
    studentinfo temp;//定义结构体变量temp 
    for(int i=0;i<3;i++){//冒泡排序 
    for(int j=0;j<3-i-1;j++){
    if((*(p+j)).score<(*(p+j+1)).score){
    temp=*(p+j+1);//在结构体里面交换,必须要用结构体变量 
    *(p+j+1)=*(p+j);
     *(p+j)=temp;
    }
    }
    }
    fun(); 
    for(int i=0;i<3;i++){
        printf("%d ",stu[i].num);
        printf("%s ",stu[i].name);
        printf("%s ",stu[i].sex);
        printf("%d ",stu[i].age);
        printf("%fd ",stu[i].score);
        printf("%s\n",stu[i].address);
    }//输出结果从大到小排列
return 0;
}

相关文章

  • C语言实战开发篇-7 结构体

    结构体 1.为什么需要结构体int float char等基本数据类型只能存单个数据int num[],运用数组只...

  • C语言和OC的结构体(struct)

    Struct(结构体) 1.结构体定义 2.结构体变量 3.结构体数组 4.C语言结构体指针 5.C语言共用体 6...

  • Android与iOS开发比较--基础篇

    章节 上--基础篇 开发工具开发语言Kotlin & Swift系统机制 中--实战篇 工程文件结构界面绘制数据存...

  • 7.C语言 结构体

    结构体所占存储空间必须是最大成员所占字节数的倍数 指向结构体的指针 利用指针访问结构体的成员 (*p).成员名称 ...

  • C语言结构体用法很多,坑也很多

    C语言可谓是编程界的传奇语言,历经几 十 年,依然排名前列。 本文主要说的是C语言中的结构体,结构体是C语言中重要...

  • C语言结构体

    结构体 本文介绍C语言结构体,struct 在C++中功能相对C较多,相当于类,这里暂时不讨论,本文单独讨论C语言...

  • C语言实战开发篇-9 文件结构

    文件读写 字符读写函数 :fgetc和fputc字符串读写函数:fgets和fputs数据块读写函数:fre...

  • 嵌入式学习笔记19.11.25

    c语言结构体 结构体一般定义全局变量 struct stu{//struct 定义结构体 stu 结构体名称 in...

  • 12-Go语言结构体

    结构体 结构体的基本概念 什么是结构体Go语言中的结构体几乎和C语言中的结构体一模一样都需要先定义结构体类型, 再...

  • C语言学习笔记-结构体占用内存大小的计算

    引言 结构体在C语言中虽然经常使用,但是怎么计算一个结构体占用多大的内存,很多C语言的新手都没注意过,其实C语言的...

网友评论

      本文标题:C语言实战开发篇-7 结构体

      本文链接:https://www.haomeiwen.com/subject/javunctx.html