C语言中struct是个什么意思 怎么用 能不能通俗点说

 我来答
太史俭巢卯
2020-02-02 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:28%
帮助的人:936万
展开全部
结构(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。它们互不影响。
零奕声校香
2020-02-19 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:32%
帮助的人:650万
展开全部
结构体。
就是定义一系列变量的集合
例如:
struct
test
{
int
a;
int
b;
};
使用的时候:
test
t;
t.a
=
1;
t.b
=
2;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式