精华内容
下载资源
问答
  • C语言结构体定义是什么
    千次阅读
    2021-05-21 06:30:34

    结构是由基本数据类型构成的、并用一个标识符来命名的各种变量的组合。 结构中可以使用不同的数据类型。

    结构说明和结构变量定义:

    在Turbo C中, 结构也是一种数据类型, 可以使用结构变量, 因此,  象其它 类型的变量一样, 在使用结构变量时要先对其定义。

    定义结构变量的一般格式为:

    struct 结构名

    {

    类型  变量名;

    类型  变量名;

    ...

    } 结构变量;

    结构名是结构的标识符不是变量名。 类型为第二节中所讲述的五种数据类型(整型、浮点型、字符型、指针型和 无值型)。 构成结构的每一个类型变量称为结构成员, 它象数组的元素一样, 但数组中元素是以下标来访问的, 而结构是按变量名字来访问成员的。

    在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。

    更多相关内容
  • C语言结构体定义

    2021-01-19 22:46:38
    C语言中的“结构体”其实就相当于其他语言中的“记录”,结构体定义方法如下:  例如: Struct student { int num;  char name[20];  char sex;  int age;  float score;  char addr[30]; };...
  • C语言中的“结构体”其实就相当于其他高级语言中的“记录”,结构体定义方法如下:  例如: Struct student { int num;  char name[20];  char sex;  int age;  float score;  char addr[30]; };...
  • c语言规范,定义结构体:typedef struct ANSWER_HEADER{u8 u8Type;u8 u8Code;u32 u32TimeStamp;struct ANSWER_HEADER *pNext;}ANSWER_HEADER_T, *PANSWER_HEADER_T;ANSWER_HEADER为结构名,这个名字主要是为了在...

    c语言规范,定义结构体:

    typedef struct ANSWER_HEADER

    {

    u8 u8Type;

    u8 u8Code;

    u32 u32TimeStamp;

    struct ANSWER_HEADER *pNext;

    }ANSWER_HEADER_T, *PANSWER_HEADER_T;

    ANSWER_HEADER为结构名,这个名字主要是为了在结构体中包含自己为成员变量的时候有用

    ANSWER_HEADER_T为struct ANSWER_HEADER的别名

    PANSWER_HEADER_T为struct ANSWER_HEADER*的别名

    上面的定义方式等价于

    struct ANSWER_HEADER

    {

    u8 u8Type;

    u8 u8Code;

    u32 u32TimeStamp;

    struct ANSWER_HEADER *pNext;

    };

    typedef struct ANSWER_HEADER ANSWER_HEADER_T;

    typedef struct ANSWER_HEADER *PANSWER_HEADER_T;

    结构的定义:

    定义一个结构的一般形式为:

    struct 结构名

    {成员表列};

    成员列表的形式为:

    类型说明符 成员名;

    例如 :

    struct stu

    {

    int num;

    char name[20];

    char sex;

    float score;

    };

    声明结构变量的三种方法:

    1.先定义结构类型,再声明:

    struct stu

    {

    int num;

    char name[20];

    char sex;

    float score;

    };

    struct stu boy1, boy2;

    也可以用宏定义使一个符号常量来表示

    一个结构类型。

    例如:

    #define STU struct stu

    STU

    {

    int num;

    char name[20];

    char sex;

    float score;

    };

    STU boy1, boy2;

    在定义结构类型的同时说明结构变量

    例如:

    struct stu

    {

    int num;

    char name[20];

    char sex;

    float score;

    }boy1, boy2;

    这种形式的说明的一般形式为:

    struct 结构名

    {

    成员表列

    }变量名表列;

    直接说明结构变量。

    例如:

    struct

    {

    int num;

    char name[20];

    char sex;

    float score;

    }boy1, boy2;

    这种形式的说明的一般形式为:

    struct

    {

    成员表列

    }变量名表列;

    结构指针变量说明的一般形式为:

    struct 结构名 *结构指针变量名

    例如:

    struct stu *pstu;

    当然也可在定义 stu 结构时同时说明 pstu。

    例如:

    struct stu

    {

    int num;

    char name[20];

    char sex;

    float score;

    }boy1, boy2, *pstu;

    下面是谭浩强老师c语言书中typedef一节:

    类型定义符typedef

    C语言不仅提供了丰富的数据类型,而且还允许由用户自己定义类型说明符,也就是说

    允许由用户为数据类型取“别名”。类型定义符 typedef 即可用来完成此功能。例如,有整

    型量 a,b,其说明如下:

    int a,b;

    其中 int 是整型变量的类型说明符。int 的完整写法为 integer,为了增加程序的可读性,

    可把整型说明符用 typedef 定义为:

    typedef int INTEGER

    这以后就可用 INTEGER 来代替 int 作整型变量的类型说明了。

    例如:

    INTEGER a,b;

    它等效于:

    int a,b;

    用 typedef 定义数组、指针、结构等类型将带来很大的方便,不仅使程序书写简单而且

    使意义更为明确,因而增强了可读性。

    例如:

    typedef char NAME[20]; 表示 NAME 是字符数组类型,数组长度为 20。然后可

    用 NAME 说明变量,如:

    NAME a1,a2,s1,s2;

    完全等效于:

    char a1[20],a2[20],s1[20],s2[20]

    又如:

    typedef struct stu

    {

    char name[20];

    int age;

    char sex;

    } STU;

    定义 STU 表示 stu 的结构类型,然后可用 STU 来说明结构变量:

    STU body1,body2;

    typedef 定义的一般形式为:

    typedef 原类型名 新类型名

    其中原类型名中含有定义部分,新类型名一般用大写表示,以便于区别。

    有时也可用宏定义来代替 typedef 的功能,但是宏定义是由预处理完成的,而 typedef

    则是在编译时完成的,后者更为灵活方便。

    展开全文
  • 什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量...C语言结构体类型的定义模板大概为: struct 类型名{ 成员表列 } 变量;
  • 1.结构体类型的说明由于结构体类型不是C语言提供的标准类型,为了能够使用结构体类型,必须先说明结构体类型,描述构成结构体类型的数据项(也称成员),以及各成员的类型。其说明形式为:struct结构体名{数据类型...

    结构体是由不同数据类型组织在一起而构成的一种数据类型,因而一个结构体有多个数据项,每个数据项的类型可不相同。

    1.结构体类型的说明

    由于结构体类型不是C语言提供的标准类型,为了能够使用结构体类型,必须先说明结构体类型,描述构成结构体类型的数据项(也称成员),以及各成员的类型。其说明形式为:

    struct 结构体名

    {

    数据类型 成员1;

    数据类型 成员n;

    };

    其中,struct是关键字,后面是结构体类型名,两者一起构成了结构体数据类型的标识符。结构体的所有成员都必须放在一对大括号之中,每个成员的形式为:

    数据类型 成员名;

    同一结构体中不同的成员不能使用相同的名字,但不同结构体类型中的成员名可以相同。大括号后面的分号“;”不能省略。如:

    struct person

    {

    char name[10];

    char sex;

    int age;

    int stature;

    };

    这里定义了一个结构体类型 person,该类型由4个成员构成。

    注意:

    结构体类型说明中,只是描述该结构体类型的成员,说明了一种数据类型,并不分配空间。要使用说明的结构体类型,必须定义相应的变量,才会分配空间。

    2.结构体变量的定义

    结构体变量的定义有以下几种形式:

    结构体类型的说明与定义分开。例如说明了struct person之后,可以定义相应的变量:

    struct person p1, p2;

    定义了两个struct

    person变量,每个变量按结构类型中的成员分配相应的空间,每一个结构体变量所分配空间为所有成员占用空间之和。如p1、p2所占用空间都为15byte。

    说明结构体类型的同时定义相应变量。如:

    struct teacher

    {

    int

    number;

    char name[10];

    char sex;

    char profession[6];

    }t1, t2;

    在说明struct

    teacher类型的同时,定义了相应的两个变量t1、t2。

    直接定义结构体变量,没有结构体类型名。如:

    struct

    {

    int No;

    char name[10];

    char sex;

    int age;

    }s1, s2;

    定义两个结构体变量s1、s2,他们都有4个成员,每个变量都占用15byte,但与第2种方式不同,没有给出结构体名,因而无法在其他地方再次使用该结构体类型定义别的变量。

    3.结构体定义的嵌套

    结构体类型的成员除了可以使用基本数据类型之外,还可以是其他类型,如上面例子中以数组作为成员。当然一个结构体类型的成员其类型也可以是另外一个结构体类型,这种结构体类型被称作结构体的嵌套。

    如: struct date

    {

    int year;

    int month;

    int day;

    };

    struct student

    {

    int no;

    char name[10];

    char sex;

    struct date birthday;

    };

    结构体struct

    student的成员birthday就是另外一个结构体struct date类型。

    展开全文
  • C语言结构体定义的几种方法

    万次阅读 多人点赞 2018-03-08 17:35:18
    什么是结构体? 在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针...结构体的定义C语言结构体类型的定义模板大概为:struct 类型名{

    什么是结构体?
    在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。

    结构体的定义:

    C语言结构体类型的定义模板大概为:

    struct 类型名{
        成员表列
    } 变量;
    • 在成员表列中可以是几种基本数据类型,也可以是结构体类型。
    • struct 类型名{} 变量;后的分号不能漏

    下面给出定义结构体类型的几种方法

    1 先定义结构体类型,再定义结构体变量。

    struct student{
        char no[20];       //学号
        char name[20];    //姓名
          char sex[5];    //性别
        int age;          //年龄
    };             
    struct student stu1,stu2;
    //此时stu1,stu2为student结构体变量

    2 定义结构体类型的同时定义结构体变量。

    struct student{
        char no[20];        //学号
        char name[20];     //姓名
          char sex[5];      //性别
        int age;            //年龄
    } stu1,stu2;    

    此时还可以继续定义student结构体变量如:

    struct student stu3;

    3 直接定义结构体变量。

    struct{
        char no[20];        //学号
        char name[20];      //姓名
          char sex[5];      //性别
        int age;          //年龄
    } stu1,stu2;    

    一般不会使用第三种定义方法,因为直接定义结构体变量stu1,stu2后就不能再继续定义该类型的变量。

    在C中定义结构体类型后每次定义变量时都要使用struct,如果嫌麻烦,我们可以这样:

    typedef struct student{
        char no[20];       //学号
        char name[20];    //姓名
          char sex[5];    //性别
        int age;          //年龄
    }STUDENT;
    STUDENT stu1;

    使用typedef给struct student取一个”别名”STUDENT

    展开全文
  • 1定义以下结构体类型 struct s { int a; char b; float f; }; 则语句 printf%d,sizeof(struct s) 的输出结果为 A)3 B)7 C)6 D) 4 2当定义一个结构体变量时系统为它分配的内存空间是 A结构中一个成员所需的内存容量 B...
  • 环境:win10 codeblocks c语言 #include<stdio.h>...//定义结构体把时间成员放在里面,方便后面初始化 struct number{ int year=0; int month=0; int day=0; int hour=0; int minute=0; ...
  • 为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名...
  • 本文实例为大家分享了C语言结构体实现通讯录的具体代码,供大家参考,具体内容如下 用来存储1000个人的信息的通讯录,每个人的信息包括: 姓名、性别、年龄、电话、住址 程序如下: #include #include #include...
  • 第 9 章 结构体 1定义以下结构体类型 struct s { int a; char b; float f; }; 则语句 printf%d,sizeof(struct s) 的输出结果为 A) 3 B) 7 C) 6 D) 4 2当定义一个结构体变量时系统为它分配的内存空间是 A结构中一个...
  • 1.结构体定义: //定义一个结构体类型 struct Book{ //书名,价格 char name[20]; int price; }; 2.使用: //利用结构体类型-创建一个该类型的结构体变量 struct Book book = {"c语言基础",20}; printf...
  • c语言允许用户自己指定这样一种数据结构,称为“结构体”。结构体数据类型说明的一般形式为: struct 结构体{ 类型名 成员名1; 类型名 成员名2; ... 类型名 成员名n; }; 其中,struct是C语言中的保留字,它是...
  • c语言结构体定义和使用

    万次阅读 多人点赞 2020-12-09 14:55:12
    C语言中,可以使用结构体(Struct)来存放一组不同类型的数据。结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate datatype)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的...
  • C语言结构体类型定义

    2021-05-15 18:15:55
    C语言结构体类型定义结构体的定义形式如下:struct 结构体名{结构体成员};结构体变量的定义方式有三种:1、先定义结构体,再定义变量:eg.struct student{char name[10];int age;int student_number;};struct ...
  • C语言结构体定义与使用 1.结构体:存放不同数据的集合 (1)结构体内可以放入结构体 typedef unsinged short ushort struct Date { ushort year; ushort month; ushort date; }; (2)结构体内...
  • C语言结构体位域

    2021-05-22 02:48:37
    1、定义声明位段成员必须声明为int、unsigned int或signed int类型(shortcharlong)。位域的定义和位域变量的说明位域定义与结构定义类似,其形式为:struct 位域结构名{ 位域列表 };其中位域列表的形式为:类型说明...
  • 前言C语言中的结构体作为一大难点,并且对于需要学习数据结构的同学来说,这个结构是每次上课都会遇到的,所以,我们只有更深层次的理解结构体的知识,才能更好的掌握数据结构结构体用处结构体到底有什么用?...
  • //设置结构体buf对应flag值,函数 struct function buf[] = { { 0x80 ,add}, { 0x81 ,multi}, { 0x82 ,max}, { 0x83 ,min} }; int add( int a, int b) { return a+b; } int multi( int a, int ...
  • 结构体定义与使用 结构体是一种构造数据类型 把不同类型的数据组合成一个整体 结构体定义形式: struct 结构体名{ 结构体所包含的变量或数组 }; 结构体是一种集合,它里面包含了多个变量或数组,它们的...
  • C语言结构体结构体引例结构体变量的定义结构体变量的使用结构体变量作为函数参数结构体变量的初始化 结构体 引例 输出平均分最高的学生信息 #include <stdio.h> struct student { int num; char name[10]; ...
  • 【VS开发】【编程开发】【C/C++开发】结构体中的数组与指针的内存分配情况说明 [VS开发][编程开发][C/C++开发]结构体中的数组与指针的内存分配情况说明 标签:[VS开发] [编程开发] 主要是疑惑在结构体定义的数组的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 116,872
精华内容 46,748
关键字:

c语言结构体定义