当前位置:首页 » 编程语言 » c语言结构体代码通俗理解
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言结构体代码通俗理解

发布时间: 2023-06-16 04:55:41

A. 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;

结构作为一种数据类型, 因此定义的结构变量或结构指针变量同样有局 部变量和全程变量, 视定义的位置而定。

结构变量名不是指向该结构的地址, 这与数组名的含义不同, 因此若需要求结构中第一个成员的首地址应该是&[结构变量名]。

(1)c语言结构体代码通俗理解扩展阅读:

结构体变量可进行哪些运算

结构体变量不能相加、不能相减,也不能相互乘除,但结构体变量可以相互赋值。也就是说,可以将一个结构体变量赋给另一个结构体变量。但前提是这两个结构体变量的结构体类型必须相同。

结构体变量的引用方式决定了:

“结构体变量名”可以与“结构体成员名”同名。

“结构体变量名”可以与“结构体名”同名。

“两个结构体类型定义的结构体变量中的成员可以同名”。

就比如定义了一个结构体类型用于存放学生的信息,里面有成员“char name[20];”,那么如果又定义了一个结构体类型用于存放老师的信息,那么里面也可以有成员“char name[20];”

因为结构体成员在引用时,必须要使用“结构体变量名.成员名”的方式来引用,通过引用就可以区分它们,所以不会产生冲突,因此可以同名!

只要不冲突,都可以重名!但是两个结构体变量名就不可以重名了,因为无法区分它们,就会产生冲突。当然这里说的是在同一个作用域内,如果在一个函数中定义一个局部变量a,那么在另一个函数中当然也可以定义一个局部变量a。它们互不影响。

B. c语言里面的结构体是什么意思

结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构。

在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。

结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。

(2)c语言结构体代码通俗理解扩展阅读

将一个结构体变量中的数据传递给另一个函数,有下列3种方法:

(1) 用结构体变量名作参数。一般较少用这种方法。

(2) 用指向结构体变量的指针作实参,将结构体变量的地址传给形参。

(3) 用结构体变量的引用变量作函数参数。

在软件开发过程中,常常需要动态地分配和撤销内存空间,例如对动态链表中结点的插入与删除。C语言中是利用库函数malloc和free来分配和撤销内存空间的。

C. c语言中结构体的作用到底是干什么的,能通俗点讲吗

把有关系的变量放在一起,查看起来方便

D. C语言结构体定义

C语言结构体定义:struct为结构体关键字,tag为结构体的标志,member-list为结构体成员列表,其必须列出其所有成员;variable-list为此结构体声明的变量。

结构体是C语言中聚合数据类型(aggregatedatatype)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。

(4)c语言结构体代码通俗理解扩展阅读

1、struct是声明结构体类型时必须使用的关键字,不能省略。“结构体”这个词是根据英文单词structure译出的。

2、structSTUDENT是定义的数据类型的名字,它向编译系统声明这是一个“结构体类型”,包括name、num、sex、age、score、addr等不同类型的项。

3、structSTUDENT与系统提供的int、char、float、double等标准类型名一样,都是数据类型,具有同样的作用,都是用来定义变量的。

E. c语言结构体是什么

在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。

结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。

结构体作用:

结构体和其他类型基础数据类型一样,例如int类型、char类型,只不过结构体可以做成你想要的数据类型。以方便日后的使用。

在实际项目中,结构体是大量存在的。研发人员常使用结构体来封装一些属性来组成新的类型。由于C语言内部程序比较简单,研发人员通常使用结构体创造新的“属性”,其目的是简化运算。

结构体在函数中的作用不是简便,其最主要的作用就是封装。封装的好处就是可以再次利用。让使用者不必关心这个是什么,只要根据定义使用就可以了。

F. 谁能简单明了 地告诉 我C语言中 结构体的用法 什么意思

结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型

比如
人类是一个类型

但是C中没有人类这个类型

你可以自定义个类型

人类拥有名字,年龄,身高

#include
"stdio.h"
#include
"conio.h"

typedef
struct
people
{

char
*
name;

int
age;

float
stature;
}
PEOPLE;

main()
{

PEOPLE
a;

a.name="abc";

a.age=20;

a.stature
=170.0;

printf("name=%s,age=%d,stature=%f",a.name,a.age,a.stature);

getch();
}

上面的例子定义了一个新的类型
PEOPLE

包含有
名字,年龄,身高
3个数据

main
中定义了一个人类实例a
并对他的3个属性进行赋值

最后打印出a的3个属性

G. 结构体c语言是什么

在C语言中,结构体(struct)指的是一种数据结构,是C语言中复合数据类型(aggregate data type)的一类。

结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。

一、成员访问

结构体成员依据结构体变量类型的不同,一般有2种访问方式,一种为直接访问,一种为间接访问。直接访问应用于普通的结构体变量,间接访问应用于指向结构体变量的指针。

直接访问使用结构体变量名.成员名,间接访问使用(*结构体指针名).成员名或者使用结构体指针名->成员名。相同的成员名称依靠不同的变量前缀区分。

二、变量存储

在内存中,编译器按照成员列表顺序分别为每个结构体变量成员分配内存,当存储过程中需要满足边界对齐的要求时,编译器会在成员之间留下额外的内存空间。

如果想确认结构体占多少存储空间,则使用关键字sizeof,如果想得知结构体的某个特定成员在结构体的位置,则使用offsetof宏(定义于stddef.h)。

匿名struct

匿名struct、匿名union以及C++的匿名class,是指既没有类型名,也没有直接用这种类型定义了对象;如果紧随类型定义之后,又定义了该类型的对象,就不算是匿名类型,与普通情形的使用是一样的。

匿名类型作为嵌套定义,即在一个外部类(这里的类是指struct、union、class)的内部定义,则编译器就在匿名类型定义之后定义一个无名变量,并把该匿名类型的数据成员的名字提升到匿名类的外部类的作用域内。

如果匿名类型是连续嵌套,则最内部的匿名类型的成员名字被提升到最外部的可用变量名字访问的类的作用域内。

H. c语言结构体定义和使用是什么

c语言结构体是类似于名片形式的数据集合体,可以把它理解为一种由用户自定义的特殊的复合型的“数据类型”,在这个复合型的“数据类型”中可以包含多种基本数据类型,我们可以把它作为一个整体来操作。

c语言使用:结构体数组的引用与引用一个结构体变量在原理上是一样的。只不过结构体数组中有多个结构体变量,我们只需利用 for 循 环一个一个地使用结构体数组中的元素。

结构体的意义

结构体描述了一段内存的解释意义。

在内存中,数据的意义在于如何使用此段数据,如在内存中存有一个数据3,如果只把他当作正整数来使用,那么其意义为正整数3,如果把内存中的3,当作2的3次方来使用,那么3的意义则为指数3。而一个结构体则描述了一段内存中的数据的使用意义。

I. c语言结构体是什么

C语言结构体(Struct)从本质上讲是一种自定义的数据类型,只不过这种数据类型比较复杂,是由 int、char、float 等基本类型组成的。你可以认为结构体是一种聚合类型。

在实际开发中,我们可以将一组类型不同的、但是用来描述同一件事物的变量放到结构体中。例如,在校学生有姓名、年龄、身高、成绩等属性,学了结构体后,我们就不需要再定义多个变量了,将它们都放到结构体中即可。

简介

关键字struct和结构体名组合成一种类型标识符,其地位如同通常的int、char等类型标识符,其用途就像 int 类型标识符标识整型变量一样可以用来定义结构体变量。

定义变量以后,该变量就可以像定义的其他变量一样使用了;成员又称为成员变量,它是结构体所包含的若干个基本的结构类型,必须用“{}”括起来,并且要以分号结束,每个成员应表明具体的数据类型。