c语言struct函数 c语言中 struct

C语言中struct是个什么意思怎么用能不能通俗点说结构(struct)
结构是由基本数据类型构成的、并用一个标识符来命名的各种变量的组合 。
结构中可以使用不同的数据类型 。
结构说明和结构变量定义
在Turbo C中, 结构也是一种数据类型, 可以使用结构变量, 因此,象其它 类型的变量一样, 在使用结构变量时要先对其定义 。定义结构变量的一般格式为:
struct 结构名
【c语言struct函数 c语言中 struct】{
类型变量名;
类型变量名;
...
} 结构变量;
结构名是结构的标识符不是变量名 。类型为第二节中所讲述的五种数据类型(整型、浮点型、字符型、指针型和 无值型) 。
构成结构的每一个类型变量称为结构成员, 它象数组的元素一样, 但数组中 元素是以下标来访问的, 而结构是按变量名字来访问成员的 。下面举一个例子来说明怎样定义结构变量 。
struct string
{
char name[8];
int age;
char sex[2];
char depart[20];
float wage1, wage2, wage3, wage4, wage5;
} person;
这个例子定义c语言struct函数了一个结构名为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;
结构作为一种数据类型,因此定义的结构变量或结构指针变量同样有局 部变量和全程变量, 视定义的位置而定 。
结构变量名不是指向该结构的地址, 这与数组名的含义不同,因此若需要求结构中第一个成员的首地址应该是[结构变量名] 。
扩展资料c语言struct函数:
结构体变量可进行哪些运算
结构体变量不能相加、不能相减c语言struct函数 , 也不能相互乘除,但结构体变量可以相互赋值 。也就是说,可以将一个结构体变量赋给另一个结构体变量 。但前提是这两个结构体变量的结构体类型必须相同 。
结构体变量的引用方式决定了:
“结构体变量名”可以与“结构体成员名”同名 。
“结构体变量名”可以与“结构体名”同名 。
“两个结构体类型定义的结构体变量中的成员可以同名” 。
就比如定义了一个结构体类型用于存放学生的信息,里面有成员“char name[20];”,那么如果又定义了一个结构体类型用于存放老师的信息,那么里面也可以有成员“char name[20];”
因为结构体成员在引用时 , 必须要使用“结构体变量名.成员名”的方式来引用 , 通过引用就可以区分它们,所以不会产生冲突,因此可以同名!
只要不冲突,都可以重名!但是两个结构体变量名就不可以重名了,因为无法区分它们,就会产生冲突 。当然这里说的是在同一个作用域内,如果在一个函数中定义一个局部变量a,那么在另一个函数中当然也可以定义一个局部变量a 。它们互不影响 。
C语言 structconst struct a = {1,1};
会导致错误
error C2513: 'const struct main::a' : no variable declared before '='
=前无变量名 。

推荐阅读