结构体变量,什么是结构体变量 给我介绍点 越详细越好
来源:整理 编辑:智能门户 2023-08-16 04:44:37
本文目录一览
1,什么是结构体变量 给我介绍点 越详细越好
结构体变量,相当于,相当一个数组。不同于数组的是,数组里面的类型一定要一样,但结构体变量却不一定。比如int a[100];这里定义了一个数组,但都是int型的。
再如
2,结构体变量到底是什么啊
结构体变量可能有两种解释,不知道你指的是哪一个。解释一:结构体类型的变量有一个变量,这个变量是一个结构体。例如:struct A struct A a; //a变量是一个结构体解释二:结构体中的变量有一个结构体,结构体中的任一成员。例如:struct A{int b;} //这个b是结构体中的成员
3,结构体变量是什么意思
student st; //这就定义了一个结构体变量,st是变量的名称,student是上面定义的结构体类型typedef struct student { char name[10]; int sex; int age; }student; 上面定义了一个结构体。 student st; //这就定义了一个结构体变量,st是变量的名称,student是上面定义的结构体类型
4,结构体中的结构体变量名是什么结构体变量是什么最好能举例说明
strcut student /*student是结构体名*/ char sex; char name[20]; ...}student1,student2;/*student1,student2结构体变也是结构体变量*/struct A int a; short b;};struct A s;//s为结构变量或者struct A int a; short b;}s;//直接定义s变量或者typedef struct int a; short b;}A;A s; //重命名结构体为A 变量为s
5,关于结构体类型结构体类型名以及结构体变量的区分
培训班怎么招生?面对周圈多不胜数的培训机构,在激烈的招生中如何脱颖而出?仅需几步就能搞定,让招生更简单高效,少花冤枉钱.struct per //在c中定义一个结构体类型要用typedef:typedef struct per // 于是在声明变量的时候就可:per std;typedef相当于取别名typedef struct PER这句和结尾的PER都是结构体知类型名;(除非省去typedef但是结尾的PER得修改道名字,因为此时修改过后的PER已经变成了结构体变量名)而C中,typedef是自版定义变量名,struct是结构体关键字,所以C是错权误的。关键字 struct 就代表是一个结构体类型zhidao。PER就是就是这个结构体类型回的名称。PER per ; per就是定义好的结构体变量。typedef struct PER int n; char ch[8];}PER;一般这样定义结构体类型定义变量的时候可以 struct PER per; 或者 直接 PER per;而用你答写的定义方法只能用 PER per 定义变量如果这样写struct PER int n; char ch[8];};只能用 struct PER per 的方式定义变量。
6,什么是结构体变量
定义结构体类型,然后用这个类型定义出来的变量就是结构体变量例如:typedef struct{ int a;}num;int main{ num b;}b 就是结构体的变量 num就是类似int的类型标识结构体变量简称为结构变量,它由结构类型定义,有三种定义方法。下面以定义结构类型 book 和结构变量mybook 、 storybook 为例说明之。 1. 先定义结构类型,再定义结构变量。 struct book /* 定义结构体类型 */ char bookname[20]; float price; char publisher[20]; char author[10]; } ; struct book mybook, storybook; 用这种方法定义结构变量,是最常用的方法,但须注意不能省略关键字“ struct ”。还可以在定义结构变量的同时给它的成员赋初值。如: struct book /* 定义结构体类型 */ char bookname[20]; float price; char publisher[20]; char author[10]; } ; struct book mybook = 则, mybook 变量的 price = 24.7 。 2. 定义结构类型的同时定义结构变量。 struct book /* 定义结构体类型 */ char bookname[20]; float price; char publisher[20]; char author[10]; } struct book mybook, storybook; 3. 不定义结构类型,直接定义结构变量。 struct /* 不定义结构类型名 */ char bookname[20]; float price; char publisher[20]; char author[10]; } struct book mybook, storybook; 需要说明的是,当某结构类型的成员又是另外一个结构类型时,称嵌套定义,其定义方法如下: struct brith_date int month ; int day ; int year ; } ; struct char name[10] ; char address[30]; char tel[12]; int age; struct data birthday; char sex[3]; } student_01 , employee ; 此例直接定义了 student_01 和 employee 两个变量,但是没有定义此结构体的名字,因此不能再定义与student_01 和 employee 同类的其它结构变量了!如下行定义是错误的: truct boy, girl;就是结构体类型的变量如:struct stu int id; int number;};int apple;所以stu 和apple都是变量,只不过apple是基本类型。是一种变量类型,同int,char类似。C++提供了许多种基本的数据类型(如int、float、double、char等)供用户使用。但是由于程序需要处理的问题往往比较复杂,而且呈多样化,已有的数据类型显得不能满足使用要求。因此C++允许用户根据需要自己声明一些类型,用户可以自己声明的类型还有结构体类型(structure)、共用体类型(union)、枚举类型(enumeration)、类类型(class )等,这些统称为用户自定义类型(user-defined type,UDT)。 在一个组合项中包含若干个类型不同(当然也可以相同)的数据项。C和C++允许用户自己指定这样一种数据类型,它称为结构体。它相当于其他高级语言中的记录(record)。例如,可以通过下面的声明来建立数据类型。 struct Student//声明一个结构体类型Student { int num;//包括一个整型变量num char name[20];//包括一个字符数组name,可以容纳20个字符 char sex;//包括一个字符变量sex int age;//包括一个整型变量age float score;//包括一个单精度型变量 char addr[30];//包括一个字符数组addr,可以容纳30个字符 };//最后有一个分号 这样,程序设计者就声明了一个新的结构体类型Student(struct是声明结构体类型时所必须使用的关键字,不能省略),它向编译系统声明: 这是一种结构体类型,它包括num, name, sex, age, score, addr等不同类型的数据项。应当说明Student是一个类型名,它和系统提供的标准类型(如int、char、float、double 一样,都可以用来定义变量,只不过结构体类型需要事先由用户自己声明而已。 声明一个结构体类型的一般形式为 struct 结构体类型名{成员表列}; 结构体类型名用来作结构体类型的标志。上面的声明中Student就是结构体类型名。大括号内是该结构体中的全部成员(member),由它们组成一个特定的结构体。上例中的num,name,sex,score等都是结构体中的成员。在声明一个结构体类型时必须对各成员都进行类型声明即类型名成员名;每一个成员也称为结构体中的一个域(field)。成员表列又称为域表。 成员名的定名规则与变量名的定名规则相同 声明结构体类型的位置一般在文件的开头,在所有函数(包括main函数)之前,以便本文件中所有的函数都能利用它来定义变量。当然也可以在函数中声明结构体类型。 在C语言中,结构体的成员只能是数据(如上面例子中所表示的那样)。 C++对此加以扩充,结构体的成员既可以包括数据(即数据成员),又可以包括函数(即函数成员),以适应面向对象的程序设计。1、struct rec {int n; char c;}; rec t1,t2;//修改 struct rec t1,t2; 因为不是所有编译器都支持你那种写法 2、 typedef struct rec {int n=0;char c=a;}t1,t2; rec t1,t2 不知道你什么意思,不过可以这样写 typedef struct {int n=0;char c=a;} rec; rec t1,t2 表示将这个结构体重命名为rec,否则使用这类型的时候需加struct(特别是c编译器) 3、struct {int n;char c;}rec; 这种方式编译应该通过的,不过是将rec认为是变量,而不是类型 总之你要定义一个t1或者t2的变量,常用以下几种写法 struct { ...... }t1,t2; struct rec { .... }; struct rec t1,t2; typedef struct { ..... } rec; rec t1,t2; 希望你能理解原理哈在C语言中,结构体的成员只能是数据,C++对此加以扩充,结构体的成员既可以包括数据(即数据成员),又可以包括函数(即函数成员),以适应面向对象的程序设计
文章TAG:
结构 结构体 变量 什么 结构体变量 给我介绍点 越详细越好