015__结构体基础

[ 基本难度系数 ]:★★☆☆☆

一、结构体基本概念和定义

C语言提供了众多的基本类型,但现实生活中的对象一般都不是单纯的整型、浮点型或字符串,而是这些基本类型的综合体。比如一个学生,典型地应该拥有学号(整型)、姓名(字符串)、分数(浮点型)、性别(枚举)等不同侧面的属性,这些所有的属性都不应该被拆分开来,而是应该组成一个整体,代表一个完整的学生。

在C语言中,可以使用结构体来将多种不同的数据类型组装起来,形成某种现实意义的自定义的变量类型。结构体本质上是一种自定义类型。

  • 结构体的语法:
结构体标签: 用来区分各个不同的结构体。
成员:       是包含在结构体内部的数据,可以是任意的数据类型。
  • 结构体的定义:
struct 结构体标签
{
    成员1;
    成员2;
    ...
}; // 此处有;号
  • 示例代码:
#include <stdio.h>
// 自定义结构体类型
// (1)、普通的结构体定义
// 1、学生结构体
struct student          // 结构体标签:用来区分各个不同的结构体的
{
    char name[128];     // 成员:包含在结构体内存的数据,可以是任意的类型(包括结构体本身、函数指针等)
    char phone[12];
    int  id;
    int gender;
    int class;
    int score;
    int height;
    int weight;
    int age;
};                      // 此处一定要加;号


// 2、数据节点结构体
struct data_node        // 结构体标签:用来区分各个不同的结构体的
{
    int a;
    int b;
    double c;
};

// (2)、使用typedef给结构体取别名
typedef struct  
{
    char name[128];    
    char phone[12];
    int  id;
    int gender;
    int class;
    int score;
    int height;
    int weight;
    int age;

}stu, *stu_p;       // 你可以在此处写这个结构体的别名,没有结构体标签,意味着你只能够使用此处提供的结构体变量


// (3)、二合一法
typedef struct data_node2 
{
    char name[128];    
    char phone[12];
    int  id;
    int gender;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值