精华内容
下载资源
问答
  • 结构体定义几种方式

    2019-01-18 16:04:56
    定义结构体类型,再定义结构体类型变量: 定义学生结构体类型 struct stu { char name[20]; //学生姓名 char sex; //性别 long num; //学号 float score[3]; //三科考试成绩 }; 使用: 定义结构体类型变量 struct...

    共计有三种形式,分别介绍如下:

    1. 先定义结构体类型,再定义结构体类型变量:
      定义学生结构体类型

    struct stu
    {
    char name[20]; //学生姓名
    char sex; //性别
    long num; //学号
    float score[3]; //三科考试成绩
    };

    使用: 定义结构体类型变量

    struct stu student1,student2;
    用此结构体类型,可以定义更多的该结构体类型变量。

    2 ) 定义结构体类型同时定义结构体类型变量:
    struct data
    {
    int day;
    int month;
    int year;
    } time1,time2;

    也可以再定义如下变量:

    struct data time3,time4;

    用此结构体类型,同样可以定义更多的该结构体类型变量。

    1. 直接定义结构体类型变量:
      struct
      {
      char name[20]; //学生姓名
      char sex; //性别
      long num; //学号
      float score[3]; //三科考试成绩
      } person1,person2; //定义该结构体类型变量

    该定义方法由于无法记录该结构体类型,所以除直接定义外,不能再定义该结构体类型变量。
    一般不用这种,很局限

    4)定义一个结构体类型用typedef:
    typedef struct Student
    {
    int a;
    }Stu;

    声明结构体变量:

    Stu stu1;
    1
    如果没有typedef就必须用 struct Student stu1; 来声明
    这里的Stu实际上就是struct Student的别名。

    最后也可以用:
    另外这里也可以不写Student(于是也不能struct Student stu1;了)

    typedef struct
    {
    int a;
    }Stu;

    使用:

    Stu stu1;

    通常用这种最简单好用

    原文传送门:https://blog.csdn.net/mengxiangjia_linxi/article/details/78168461

    展开全文
  • 结构体定义几种方式

    万次阅读 多人点赞 2017-10-07 10:41:26
    共计有三形式,还有一是typedef定义结构体

    共计有三种形式,分别介绍如下:

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

    定义学生结构体类型

    struct stu 
    {
         char name[20];   //学生姓名
         char sex;        //性别
         long num;        //学号
         float score[3];  //三科考试成绩
    };

    使用: 定义结构体类型变量

    struct stu student1,student2;

    用此结构体类型,可以定义更多的该结构体类型变量。

    2 ) 定义结构体类型同时定义结构体类型变量:

    struct data
    {
         int day;
         int month;
         int year;
    } time1,time2;

    也可以再定义如下变量:

    struct data time3,time4;

    用此结构体类型,同样可以定义更多的该结构体类型变量。

    3) 直接定义结构体类型变量:

    struct
    {
         char name[20];  //学生姓名
         char sex;       //性别
         long num;       //学号
         float score[3]; //三科考试成绩
    } person1,person2;   //定义该结构体类型变量

    该定义方法由于无法记录该结构体类型,所以除直接定义外,不能再定义该结构体类型变量。
    一般不用这种,很局限

    4)定义一个结构体类型用typedef:

    typedef struct Student
    {
        int a;
    }Stu;

    声明结构体变量:

    Stu stu1;

    如果没有typedef就必须用 struct Student stu1; 来声明
    这里的Stu实际上就是struct Student的别名。

    最后也可以用:
    另外这里也可以不写Student(于是也不能struct Student stu1;了)

    typedef struct
    {
        int a;
    }Stu;

    使用:

    Stu stu1;

    通常用这种最简单好用。

    展开全文
  • c/c++结构体几种定义情况总汇

    千次阅读 2011-10-12 01:07:00
     下面的是结构体指针的两种定义方式: 1. #include #include using namespace std; struct stu { int a; int b; }; int main() { struct stu *s=new stu[10]; struct stu s1;// for (int i=0; i; i++)...
    #include <iostream>
    #include <malloc.h>
    #include <stdio.h>
    using namespace std;
    struct stu
    {
           int *a;
           int *b;
    };
    int main()
    {
        //struct stu *s=new stu[10];
        //struct stu s=new stu;
        stu s = (stu*)malloc(sizeof(stu)+2);
        //struct stu s;
        struct stu s1;//
        for (int i=0; i<4; i++)
        {
            cin>>s.a[i]>>s.b[i];
            cout<<s.a[i]<<" "<<s.b[i]<<endl;
        }
        //delete []s;
        while (1);
        return 0;
    }
    

    #define N 10005
    
    
    struct stu
    {
           int a;
           int b;
    };
    
    struct stu s[N];


    首先,我们搞清几个概念,结构体名,结构体变量,结构体成员

    结构体名    正如这样  struct stu s/这里stu 是结构体名,s是结构体变量了,那么里面的a,b都是他的成员了;

    //在c++里面,我们发现笔者很喜欢用typedef;例如:

    typedef struct stu
    {
           int a;
           int b;
    }s1,s2;


    那么 s1,s2是什么意思呢?   大家都知道 typedef的作用的,顾名思义,我们的s1,s2,就相当 stu   他是结构体名,不是结构体变量,要运用结构体 我们就要定义一个结构体变量;

    //像这样
    s1 ss;
    s2 sss;

    接着 问题就来了,结构体成员是否可以和 结构体变量重名呢?  结构体名是否可以和结构体变量名一样呢???

    struct stu
    {
           int a;
           int b;
    };
    
    struct stu a;//struct stu stu;


    结构体,在C++中,是一个类而已。所以,不管是类,还是结构体,它产生的对象名,其实是可以与成员同名的。

    再试下,

    struct stu
    {
             int a,b;
    }stu;//这时stu已经变成结构体变量了
    

    但是下面的代码又没解释,只能说c很强大啊,下面的代码说明我们还是少重名,以免发生错误

     

    #include <iostream>
    #include <stdio.h>
    using namespace std;
    struct stu
    {
           int a;
           int b;
    };
    int main()
    {
        struct stu stu[100];
        struct stu s1;//
        for (int i=0; i<4; i++)
        {
            scanf("%d%d",&stu[i].a,&s1.a);
            printf("%d %d ",stu[i].a,s1.a);
        }
        while (1);
        return 0;
    }
    

     下面的是结构体指针的两种定义方式:

    1.

    #include <iostream>
    #include <stdio.h>
    using namespace std;
    struct stu
    {
           int a;
           int b;
    };
    int main()
    {
        struct stu *s=new stu[10];
        struct stu s1;//
        for (int i=0; i<4; i++)
        {
            cin>>s[i].a>>s[i].b;
            cout<<s[i].a<<" "<<s[i].b<<endl;
        }
        delete []s;
        while (1);
        return 0;
    }
    

    2.


     

     

    展开全文
  • 关于结构体声明和定义几种方式

    万次阅读 2018-09-04 09:50:04
    结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对问题事先自行定义,所以结构体类型变量的定义形式就增加了灵活性,共计有三形式,分别介绍如下:1) 先定义结构体类型,再定义...

    结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对问题事先自行定义,所以结构体类型变量的定义形式就增加了灵活性,共计有三种形式,分别介绍如下:
    1) 先定义结构体类型,再定义结构体类型变量:
    struct stu / *定义学生结构体类型* /
    {
        char name[20]; / * 学生姓名* /
        char sex; / * 性别* /
        long num; / *学号* /
        float score[3]; / * 三科考试成绩* /
    };
    struct stu student1,student2;/ * 定义结构体类型变量* /
    struct stu student3,student4;

    用此结构体类型,可以定义更多的该结构体类型变量。

     

    2 ) 定义结构体类型同时定义结构体类型变量:
    struct data
    {
        int day;
        int month;
        int year;
    } time1,time2;
    也可以再定义如下变量:
    struct data time3,time4;

    用此结构体类型,同样可以定义更多的该结构体类型变量。

     

    3) 直接定义结构体类型变量:
    struct
    {
        char name[20]; / *学生姓名* /
        char sex; / *性别* /
        long num; / *学号* /
        float score[3]; / *三科考试成绩* /
    } person1,person2; / *定义该结构体类型变量* /
    该定义方法由于无法记录该结构体类型,所以除直接定义外,不能再定义该结构体类型变量。

    展开全文
  • c/c++结构体几种定义情况总汇二

    千次阅读 2011-10-12 02:06:15
    2.#include #include #include using namespace std; struct stu {  int *a;  int *b; }; int main() {  //struct stu
  • 下面给出六种结构体定义,其中第一是最基本的结构体定义,其定义了一个结构体A。 struct A //第一 { int a; }; 第二则是在定义了一个结构体B的同时定义了一个结构体B的变量m。 struct B //第二 { int ...
  • 结构体类型变量的定义与其它类型的变量的定义是一样的,但由于结构体类型需要针对问题事先自行定义,所以结构体类型变量的定义形式就增加了灵活性,共计有三形式,分别介绍如下:1) 先定义结构体类型,再定义...
  • 结构体定义几种常见方式

    千次阅读 2018-03-25 14:06:35
    第一是最基本的结构体定义,其定义了一个结构体A。struct A //第一 { int a; };第二则是在定义了一个结构体B的同时定义了一个结构体B的变量m。struct B //第二 { int b; }m;第三种结构体定义没有给出该...
  • C语言-结构体定义几种方式 若struct后面接的是名字,则其为该结构体的名称。 第一种是最基本的结构体定义,其定义了一个结构体A。 struct A //第一种 { int a; }; 第二种则是在定义了一个结构体B的同时定义了一...
  • 1、定义类型的结构体 struct test{ char a; short b; int c; } 2、初始化 在定义结构体时可以初始化或者定义完成后再初始化 ① struct test{ char a; short b; int c; }test1,test2[20],*test3 ② ...
  • 注:转载博客:...1. 先定义结构体类型,再定义结构体变量。 struct student{ char no[20]; //学号 char name[20]; //姓名 char sex[5]; //性别 int age; //年龄 }...
  • 传送门:结构体定义几种方式 只有typedef之后定义变量才能不加struct,但是queue<>这个<>不用typedef,也可以用结构体名 另外说一下结构体的初始化 Stu stu = {1,2};就可以 ...
  • 结构体变量要和结构体同时定义。 3.struct结构体名 { //成员表列 }变量名; 结构体变量与结构体同时定义。 4.typedef struct 结构体名  { //成员表列 }; 此时结构体没有别名,定义变量形式为 struct ...
  • 结构体的两种定义方式

    千次阅读 2019-07-27 10:43:02
    typedef struct 用法小结 typedef为C语言的关键字,作用是为一数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。在编程中使用typedef目的一般有两个,一个...
  • 定义结构体变量的几种方式

    千次阅读 2018-02-07 13:36:59
    首先要注意区分结构体类型和结构体变量,结构体类型是用户为满足需要自己声明的一类型,相当于事先准备好的框架,而结构体变量则是使用之前准备好的结构体类型定义的,可以类比“int a; float b;”其中的a,b则是...
  • 因为老是忘记使用方式,所以写于此记录一下。...3、定义如下,用这种方式定义结构体不能在别处定义结构体变量,但是可以使用定义结构体时给出的结构体变量m,也就是只能使用变量m。 struct{ int

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 103,772
精华内容 41,508
关键字:

结构体的几种定义方式