struct「structures」
struct在c语言中是什么意思?
在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据。
结构体的定义形式为:

struct结构体名{
结构体所包含的变量或数组
};
结构体是一种**,它里面包含了多个变量或数组,它们的类型可以相同,也可以不同,每个这样的变量或数组都称为结构体的成员(Member)。
例子:
struct stu{
char *name; //姓名
int num; //学号
int age; //年龄
char group; //所在学习小组
float score; //成绩
};
stu为结构体名,它包含了5个成员,分别是name、num、age、group、score。结构体成员的定义方式与变量和数组的定义方式相同,只是不能初始化。
扩展资料
结构体变量——
既然结构体是一种数据类型,那么就可以用它来定义变量。
例如:
struct stu stu1, stu2;
定义了两个变量 stu1 和 stu2,它们都是 stu 类型,都由 5 个成员组成。注意关键字struct不能少。
stu 就像一个“模板”,定义出来的变量都具有相同的性质。也可以将结构体比作“图纸”,将结构体变量比作“零件”,根据同一张图纸生产出来的零件的特性都是一样的。
C语言中struct是个什么意思 怎么用 能不能通俗点说
结构(struct)
结构是由基本数据类型构成的、并用一个标识符来命名的各种变量的组合。
结构中可以使用不同的数据类型。
结构说明和结构变量定义
在Turbo C中, 结构也是一种数据类型, 可以使用结构变量, 因此, 象其它 类型的变量一样, 在使用结构变量时要先对其定义。定义结构变量的一般格式为:
struct 结构名
{
类型 变量名;
类型 变量名;
...
} 结构变量;
结构名是结构的标识符不是变量名。 类型为第二节中所讲述的五种数据类型(整型、浮点型、字符型、指针型和 无值型)。
构成结构的每一个类型变量称为结构成员, 它象数组的元素一样, 但数组中 元素是以下标来访问的, 而结构是按变量名字来访问成员的。 下面举一个例子来说明怎样定义结构变量。
struct string
{
char name[8];
int age;
char sex[2];
char depart[20];
float wage1, wage2, wage3, wage4, wage5;
} person;
这个例子定义了一个结构名为string的结构变量person, 如果省略变量名 person, 则变成对结构的说明。用已说明的结构名也可定义结构变量。这样定义 时上例变成:
struct string
{
char name[8];
int age;
char sex[2];
char depart[20];
float wage1, wage2, wage3, wage4, wage5;
}; struct string person;
如果需要定义多个具有相同形式的结构变量时用这种方法比较方便, 它先作 结构说明, 再用结构名来定义变量。
如果省略结构名, 则称之为无名结构, 这种情况常常出现在函数内部, 用这 种结构时前面的例子变成:
struct
{
char name[8];
int age;
char sex[2];
char depart[20];
float wage1, wage2, wage3, wage4, wage5;
} Tianyr, Liuqi;
结构作为一种数据类型, 因此定义的结构变量或结构指针变量同样有局 部变量和全程变量, 视定义的位置而定。
结构变量名不是指向该结构的地址, 这与数组名的含义不同, 因此若需要求结构中第一个成员的首地址应该是[结构变量名]。
扩展资料:
结构体变量可进行哪些运算
结构体变量不能相加、不能相减,也不能相互乘除,但结构体变量可以相互赋值。也就是说,可以将一个结构体变量赋给另一个结构体变量。但前提是这两个结构体变量的结构体类型必须相同。
结构体变量的引用方式决定了:
“结构体变量名”可以与“结构体成员名”同名。
“结构体变量名”可以与“结构体名”同名。
“两个结构体类型定义的结构体变量中的成员可以同名”。
就比如定义了一个结构体类型用于存放学生的信息,里面有成员“char name[20];”,那么如果又定义了一个结构体类型用于存放老师的信息,那么里面也可以有成员“char name[20];”
因为结构体成员在引用时,必须要使用“结构体变量名.成员名”的方式来引用,通过引用就可以区分它们,所以不会产生冲突,因此可以同名!
只要不冲突,都可以重名!但是两个结构体变量名就不可以重名了,因为无法区分它们,就会产生冲突。当然这里说的是在同一个作用域内,如果在一个函数中定义一个局部变量a,那么在另一个函数中当然也可以定义一个局部变量a。它们互不影响。
struct词根是什么?
struct是一个国英文单词,词根 -stru-。
基本含义为结构;结构体;结构体类型。
例句为Class, struct, or interface method must have a return type类、结构或接口方法必须有返回类型。
同义词有: house edifice construction building 。
常用英语词根
structure n 构造;结构
construct v 构造,建筑(con共同+struct→共同建立→建造)
constructionn 建设
reconstruct v 重建(re重新+construct→重新建造)
destrructiblea 易毁坏的(de坏+struct+idle→把建造的东西弄坏→损坏的)
destruction n a 毁灭(de+struct+ion)
destructive a 有破坏力的(de+struct+ion)
instruct n 指导,教导(in进+struct→[把知识]建立进去→指导)
instruction n 教导,指导(in+struct+ion)
instructor n 教师,讲师
odstruct v 妨碍(ob反+struct→反建设→妨碍)
odstruction n 阻碍;闭塞
sudstruction n 下部结构;基础(sub下面+struct+ion→下面的建设→基础)
superstructuren n 上层建筑(super上面+structure→上面的结构→上层建筑)
instrument n 工具;仪器;乐器(in内+stru[=struct]+ment→内部结构→仪器、工具)
instrumental a 有帮助的;工具的(instrument工具+al)
unstrumentality n 手段,媒介(imstrument工具+aliy性质→作为工具用→手段)
destroy v 毁坏,破坏(de坏+story[=struct];参考:destructildle)
struct用法是什么?
关键字struct能定义各种类型的变量**,称为结构(structure),并把它们视为一个单元。
1.struct的简单例子
下面是一个struct的简单的声明例子:
struct
horse
{
int
age;
int
height;
}
Silver;
这个例子声明了一个结构horse。horse不是一个变量名,而是一个新的类型,这个类型名称通常称为结构标记符(structure tag)或标记符名称(tag name)。结构标记符的命名方式和我们熟悉的变量名相同。
注意:
结构标记符可以和变量使用相同的名称,但最好不要这么做,因为这会使代码难以理解。
在这个结构例子中,结构的一个实例Silver是在定义结构时声明的。它是一个horse类型的变量,只要使用变量名称Silver,它都包含两个结构成员:age和height。
上述的例子也可变得复杂一些,如下:
struct
horse
{
int age;
int height;
char name[20];
char father[20];
char mother[20];
}
Dobbin = {24, 17, "Dobbin", "Trigger", "Flossie"};
1.1定义结构类型和结构变量
可以将结构的声明和结构变量的声明分开。取代前面例子的语句如下:
struct
horse
{
int age;
int height;
char name[20];
char father[20];
char mother[20];
};
struct horse Dobbin = {24, l7, "Dobbin", "Trigger", "Flossie"
};
现在有两个分开的语句。第一个定义结构标记符horse,第二个声明该类型的变量Dobbin。结构定义和结构变量声明语句都用分号结束。在Dobbin结构成员的初始值中,Dobbin的父亲是Trigger,母亲是Flossie。
1.2访问结构成员
要引用结构成员,应在结构变量名称的后面加上一个句点,再加上成员变量名称。例如,发现Dobbin隐瞒了它的年龄,事实上它比初始化的值年轻,就可以将值修正如下:
Dobbin.age = 12;
结构变量名称和成员名称间的句点是一个运算符,称为成员选择运算符。这行语句Dobbin结构的age成员设定成12。结构成员和相同类型的变量完全一样,可以给它们设定值,也可以在表达式中像使用一般变量一样使用它们。
用下面的语句定义horse结构:
struct
horse
{
int age;
int height;
char name[20];
char father[20];
char mother[20];
};
这个结构有两个整数成员age和height,以及三个字符数组成员name、father和mother。在闭括号的后面仅是一个分号,还没有声明horse类型的变量。在定义完horse结构后,具有如下语句:
struct
horse My_first_horse;
1.3未命名的结构
不—定要给结构指定标记符名字。用一条语句声明结构和该结构的实例时,可以省略标记符名字。在上一个例子中,声明了horse类型和该类型的实例My_first_horse,也可以改为:
struct
{
int age;
int height;
char name[20];
char father[20];
char mother[20];
}
My_first_horse;
使用这种方法的最大缺点是不能在其他语句中定义这个结构的其他实例。这个结构类型的所有变量必须在一行语句中定义。