建立自己的数据类型——C结构体归纳

Posted gti2baby

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了建立自己的数据类型——C结构体归纳相关的知识,希望对你有一定的参考价值。

一、建立结构体类型

1、申明结构体类型

struct 结构体名

    成员表列(类型名 成员名;);
;

例如:
struct Person

    char name;
    int age;
   char sex;
;
//定义了一个结构体类型——struct Person

struct为关键字,不可省略 
结构体类型如同其他类型一样,在c程序中具有和其他类型相同的地位,就如同 int(整数类型) char(字符类型)一样

Zu:结构体名可以自由命名,成员表列也可以由现实情况自由定义。书写格式固定,内容自定义。

2、定义结构体类型变量

前言:
1)程序运行的时候只会对变量进行操作,而不会对类型进行操作,(比如,你什么时候对int  double  进行过运算,赋值呢,对吧)所以我们要先定义变量,然后才能对其进行操作。

2)编译的时候对类型是不分配空间的,只会对变量分配存储空间。

3)结构体中的成员可以单独使用,作用与地位相当于普通变量。

4)要遵循:先定义结构体类型,后定义结构体变量。

三种方法定义结构体变量:

1)结构体类型名  变量名;

  (类似于:类型名  变量名;)

struct    Student

   char name;
   int age;   
;//定义结构体类型

struct Student  student1,student2;//定义了 student1,student2两个结构体变量

struct Student  students[5];//定义了一个结构体数组,长度为5

结构体类型也可以定义数组。

2)申明结构体类型的同时定义变量

struct    Student

   char name;
   int age;   
studen1,student2;//在定义struct    Studentt这个结构体类型的同时定义了studen1,student2两个struct    Student结构体变量

struct 结构体名

  变量表列;  
变量名表列;

//结构体数组也可这样定义
struct    Student

   char name;
   int age;  
studens[5];
//定义了一个结构体数组,长度为5

(struct 结构体名) 合起来称作一个结构体类型。

3)不定义类型名而直接定义结构体类型变量

无名结构体无法再次定义此类结构体变量。

strcut

    char name;
    int age;
student1,student2;

//意义与上面的相同

Zu:该方式的定义方法意义不大,使用很少。

3、结构体变量的初始化和使用

这部分比较简单,不做介绍,任何一本c语言教科书都会进行讲解。

4、结构体指针也不做讲解。

 

以上是关于建立自己的数据类型——C结构体归纳的主要内容,如果未能解决你的问题,请参考以下文章

C语言第二章数据类型及其运算重点要点归纳

数据结构的总结归纳之——栈

c语言中的指针类型属于原子类型还是结构类型?

结构体与共用体

C语言:键盘输入1创建顺序表,输入2插入数据,输入3查询数据,输入4删除数据.要求顺序表中的数据为结构体类型

C语言-结构体与位域