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

    2019-05-24 19:03:45
    对于C语言结构体定义(不使用typeof)有三种方式: 1.先定义类型再定义变量 struct stu//stu为结构体的名字 { char name[10]; float score; }; //该种定义方式如何声明结构体变量 struct stu student1,student2; ....

    喜欢你没道理,美丽


    对于结构体的定义有点忘了,尤其是typeof,特写此博客来帮助记忆一下

    对于C语言结构体定义(不使用typeof)有三种方式:

    1.先定义类型再定义变量

    struct stu//stu为结构体的名字
    {
        char name[10];
        float score;
    };
    //该种定义方式如何声明结构体变量
    struct stu student1,student2;
    

    2.在定义类型的时候同时定义变量

    struct stu
    {
        char name[10];
        float score
    }student1,student2;//定义结构体的同时,定义了两个结构体变量student1,student2
    //主函数内如何声明结构体变量
    struct stu student3;
    

    3.直接定义结构体变量

    //该种方式省略了结构体的名称,仅能一次性定义变量,无法在别处定义该结构体类型的变量
    struct
    {
        char name[10];
        float score
    }student1,student2;
    
    

    对于C语言结构体定义(使用typeof)

    方式1

    typedef struct Student
        {
            int a;
        }Stu;
    //声明变量,此处的Stu就不是变量了,而是struct Student的别名
    Stu stu1;
    struct Student stu2;
    

    方式2

    typedef struct 
      {
        int a;
      }Stu;
    //声明变量
    Stu stu1;
    

    对于C++结构体的定义

    方式1

    struct Student
      {
        int a;
      };
    //声明变量
    Student stu1;
    

    方式2

    typedef struct Student
      {
        int a;
      }Stu;//Stu是结构体别名
    //声明变量
    Stu stu1;
    struct Student stu2
    
    展开全文
  • 结构体定义 typedef struct 用法详解和用法小结

    万次阅读 多人点赞 2018-07-31 22:25:48
    若struct node{ }这样来定义结构体的话。在定义 node 的结构体变量时,需要这样写:struct node n; 若用typedef,可以这样写:typedef struct node{}NODE; 。在申请变量时就可以这样写:NODE n;其实就相当于 NODE 是...

    typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。

    具体区别在于: 
    若struct node{ }这样来定义结构体的话。在定义 node 的结构体变量时,需要这样写:struct node n; 
    若用typedef,可以这样写:typedef struct node{}NODE; 。在申请变量时就可以这样写:NODE n;其实就相当于 NODE 是node 的别名。区别就在于使用时,是否可以省去struct这个关键字。

    首先:

    在C中定义一个结构体类型时如果要用typedef:

    typedef struct Student
    {
       int no;
       char name[12];
    }Stu,student;

    于是在声明变量的时候就可:Stu stu1;或者:student stu2;(Stu 和student 同时为Student的别名) 
    如果没有typedef即:

    struct Student
    {
       int no;
       char name[12];
    }Stu;

    就必须用struct Student stu1;或者struct Stu stu1;来声明 
    另外这里也可以不写Student(于是也不能struct Student stu1;了)

    typedef struct
    {
       int no;
       char name[12];
    }Stu;

    其次:

    在c++中如果用typedef的话,又会造成区别:

    struct Student
    {
       int no;
       char name[12];
    }stu1;//stu1是一个变量
    typedef struct Student2
    {
       int no;
       char name[12];
    }stu2;//stu2是一个结构体类型,即stu2是Student2的别名

    使用时可以直接访问stu1.no 
    但是stu2则必须先定义 stu2 s2; 
    然后 s2.no=10;

    展开全文
  • C语言结构体定义

    千次阅读 多人点赞 2018-08-29 16:52:36
    C语言结构体定义在我看来类似数据库的表 如: #include <stdio.h> #include <string.h>   struct st1 {  int id;  char name[30];  char sex;  int score; };     ...

    C语言结构体定义在我看来类似数据库的表

    如:

    #include <stdio.h>

    #include <string.h>

     

    struct st1

    {

      int id;

      char name[30];

      char sex;

      int score;

    };

     

     

    int main()

    {

        struct st1 s1;

        s1.id = 1;

        strcpy(s1.name,"张三");

        s1.sex = 'm';

        s1.score = 90;

        puts("学号\t姓名\t性别\t分数");

        printf("%d\t%s\t%c\t%d\n",s1.id,s1.name,s1.sex,s1.score);

        printf("%d\t%s\t%c\t%d\n",s1.id,s1.name,s1.sex,s1.score);

        printf("%d\t%s\t%c\t%d\n",s1.id,s1.name,s1.sex,s1.score);

        printf("%d\t%s\t%c\t%d\n",s1.id,s1.name,s1.sex,s1.score);

        printf("%d\t%s\t%c\t%d\n",s1.id,s1.name,s1.sex,s1.score);

        printf("%d\t%s\t%c\t%d\n",s1.id,s1.name,s1.sex,s1.score);

        return 0;

    }

     

    结果:

    学号    姓名    性别    分数

    1       张三    m       90

    1       张三    m       90

    1       张三    m       90

    1       张三    m       90

    1       张三    m       90

    1       张三    m       90

     

     

    例2:cat st3.c

    #include <stdio.h>

    #include <string.h>

     

     

    typedef struct st1

    {

      int n;

      char m[20];

    }a;     //这里a是整个结构体的缩写,如:typedef unsigned int UINT,这里UNIT既是前面unsigned int 的缩写,注意如果这里没有typedef,那么后面a是一个结构体变量,而不是结构体定义的缩写。

     

    void input (a* pa)

    {

    printf("please input your id and name:");

    pa -> n = 8; //这里是指针初始化赋值,另外可以用(*pa).n = 8来赋值,等价的关系

    strcpy(pa -> m , "apple"); //给一个指针字符串赋值

    scanf("%d,%s",&pa -> n,pa -> m);

    }

     

    void print (a s)

    {

     puts("id\tname");

     printf("%d\t%s\n",s.n,s.m);

    }

    int main ()

    {

     struct st1 s1; //定义结构体变量s1

     a s2;   //定义结构体变量s2 这里用到了上面的缩写a代替struct st1

    // printf("Please input your id and name:");

    // scanf("%d,%s",&s1.n,s1.m);

     s2.n = 10; //结构体变量赋值

     s1.n = 11;//结构体变量赋值

     input(&s1);//调用输入函数

     print(s1);//输出你输入的内容

     return 0; 

    }

     

    cc st3.c -Wall

     ./a.out 

    please input your id and name:8,orange      //敲入8,orange 下面是输出的结果  

    id      name

    8       orange

    展开全文
  • 8.2 结构体定义和使用 语法:struct 结构体名 { 结构体成员列表 }; 通过结构体创建变量的方式有三种: struct 结构体名 变量名 struct 结构体名 变量名 = { 成员1值 , 成员2值…} 定义结构体时顺便创建变量 示例...

    8 结构体

    8.1 结构体基本概念

    结构体属于用户自定义的数据类型,允许用户存储不同的数据类型

    8.2 结构体定义和使用

    语法:struct 结构体名 { 结构体成员列表 };

    通过结构体创建变量的方式有三种:

    • struct 结构体名 变量名
    • struct 结构体名 变量名 = { 成员1值 , 成员2值…}
    • 定义结构体时顺便创建变量

    示例:

    //结构体定义
    struct student
    {
    	//成员列表
    	string name;  //姓名
    	int age;      //年龄
    	int score;    //分数
    }stu3; //结构体变量创建方式3 
    
    
    int main() {
    
    	//结构体变量创建方式1
    	struct student stu1; //struct 关键字可以省略
    
    	stu1.name = "张三";
    	stu1.age = 18;
    	stu1.score = 100;
    	
    	cout << "姓名:" << stu1.name << " 年龄:" << stu1.age  << " 分数:" << stu1.score << endl;
    
    	//结构体变量创建方式2
    	struct student stu2 = { "李四",19,60 };
    
    	cout << "姓名:" << stu2.name << " 年龄:" << stu2.age  << " 分数:" << stu2.score << endl;
    
    
    	stu3.name = "王五";
    	stu3.age = 18;
    	stu3.score = 80;
    	
    
    	cout << "姓名:" << stu3.name << " 年龄:" << stu3.age  << " 分数:" << stu3.score << endl;
    
    	system("pause");
    
    	return 0;
    }
    
    

    总结1:定义结构体时的关键字是struct,不可省略

    总结2:创建结构体变量时,关键字struct可以省略

    总结3:结构体变量利用操作符 ‘’.’’ 访问成员

    展开全文
  • 结构体一个结构体(`struct`)就是一个字段的集合。 将来要使用它向java 、C# 中的class 有相同的地位 ...结构体定义 type YourName struct 例如: type Vertex struct { X int Y int} -------------...
  • 顺序表结构体定义: typedef struct { int data[maxsize]; int length; }Sqlist; 二.单链表结构体定义: typedef struct LNode { int data; struct LNode *next; }LNode; 三.双链表结构体定义: typedef ...
  • 线性表的结构体定义

    千次阅读 2018-05-12 19:54:09
    1.线性表的结构体定义 1)顺序表的结构体定义typedef struct { int data[maxSize]; int length; } Sqlist; 2)考研中常用定义int A[maxSize]; int n; 3)单链表结点定义typedef struct LNode{ int data; //...
  • C++ 结构体定义和使用

    千次阅读 多人点赞 2019-08-01 16:41:06
    1、结构体定义和使用 #include<iostream> using namespace std; #include<string>//使用字符串要添加的头文件,不然报错 //定义结构体:结构体属于用户自定义的数据类型,允许用户存储不同的数据类型 ...
  • 下面给出六种结构体定义,其中第一种是最基本的结构体定义,其定义了一个结构体A。 struct A //第一种 { int a; }; 第二种则是在定义了一个结构体B的同时定义了一个结构体B的变量m。 struct B //第二种 { int ...
  • 结构体定义的几种常见方式

    万次阅读 多人点赞 2016-08-15 19:44:07
    下面给出六种结构体定义,其中第一种是最基本的结构体定义,其定义了一个结构体A。struct A //第一种 { int a; };第二种则是在定义了一个结构体B的同时定义了一个结构体B的变量m。struct B //第二种 { int b; }m;...
  • 本文告诉大家结构体定义需要知道的规范
  • 文章目录一、前言二、名词解释三、结构体声明四、结构体定义及初始化五、运行六、结语 一、前言 结构体作为C语言中的重要一环,可以用它来对数据进行封装,把一些相似的成员放在同一个结构体中,其对于代码的可维护...
  • 结构体定义的几种形式

    万次阅读 多人点赞 2018-04-11 15:49:55
    最近一直研究结构体,整理几种结构体定义方式:1、最常用定义方式:定义结构体data,此时结构体相当于一个类型,比如int,如需使用此结构体,方法同intstruct data{ char aa; char bb; char cc; int dd;}; ...
  • C语言-结构体定义的几种方式 若struct后面接的是名字,则其为该结构体的名称。 第一种是最基本的结构体定义,其定义了一个结构体A。 struct A //第一种 { int a; }; 第二种则是在定义了一个结构体B的同时定义了一...
  • ``` #define DLL_IMPORT struct DLL_IMPORT student { int age; int sex; char* name ; }; ``` 请问下 DLL_IMPORT 这个宏加在结构体定义之前有什么作用?
  • 结构体定义-数据结构基础复习 由于C语言学习过早,中间也没有强加复习,在学习数据结构的过程中遇到一些基础的问题,首先就是对结构体的定义模糊不清晰,经过网上资料查找和中国mooc视频学习,做出总结: 结构体定义...
  • C语言中没有复数运算,只有实数运行,为此,用结构体定义复数,并实现其四则运算
  • Nasm 结构体定义

    千次阅读 2012-12-06 22:12:19
    1. 结构体定义 在NASM内部,没有实际意义上的定义结构体类型的机制,NASM使用宏 STRUC 和 ENDSTRUC来定义一个结构体。STRUC有一个参数,它是结构体的名字。可以使用“RESB”类伪指令定义结构体的域,然后使用...
  • 结构体定义和使用

    万次阅读 多人点赞 2019-01-22 20:57:02
    收获一:结构体定义和使用 struct stu{ char *name; //姓名 int num; //学号 char sex; //性别 float score; //成绩 }; struct stu stu1, stu2; stu 就像一个“模板”,定义出来的变量都具有相同的性质。也可以...
  • /*********结构体定义、结构体指针、内存分配、指针、结构体形参的深入理解****  作者: 攀枝花学院 袁伟明  邮箱:1040185409@qq.com 说明:此程序为深入学习数据结构时候,对于数据结构最重要的基础(结构体、指针、...
  • 结构体定义,初始化和赋值

    千次阅读 2017-09-16 15:35:59
    结构体定义,初始化和赋值
  • C#结构体定义的详解

    2011-10-17 11:26:19
    C#结构体定义的详解 2009-08-13 14:46 花花世界 百度空间 我要评论(0) 字号:T | T C#结构体定义是什么样子呢?也可以象类一样可以单独定义.C#结构体定义也可以在名字前面加入控制访问符,本文向...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 37,163
精华内容 14,865
关键字:

结构体定义