定义结构体:struct
结构体名
{
成员列表
};
定义结构体类型的变量:有三种形式
①
定义类型时定义变量:struct
结构体类型名
{
成员列表
}变量名列表;
②
直接定义结构类型变量:struct
{
成员列表
}变量名列表;
③
由已定义的结构体类型来定义变量:struct
结构体类型名变量名列表;
引用结构体类型变量:在定义了结构体类型变量后,采用下列方法引用结构体类型的
变量:
结构体变量名.成员名
这里"."是成员(分量)运算符,它在所有的运算符中优先级最高。
使用结构体时注意:
(1)结构体类型和结构体类型变量是不同的概念,定义结构体类型变量时应先定义
结构体类型,然后再定义变量属于该类型。
(2)定义了—个结构体类型后,系统并没有为所定义的各成员项分配相应的存储空
间。只有定义了一个结构体类型变量,系统才为所定义的变量分配相应的存储空间。结构
体类型变量占用内存的字节数是所有成员占用内存长度之和。
(3)结构体成员的引用。如果一个结构体中又嵌套一个结构体,则要访问一个成员
时,应采取外层向内层逐级访问的方法。
求采纳为满意回答。
看一个例子吧typedef
struct
_my_date
{
int
y
int
m
int
d
}my_date,MY_DATE,*PMY_DATE
定义变量合法的有
struct
_my_date
var
/*定义一个结构体变量
var*/
struct
_my_date
*
var
/*定义一个结构体变量指针
var*/
my_date
var
/*定义一个结构体变量
var*/
my_date
*
var
/*定义一个结构体变量指针
var*/
MY_DATE
var
/*定义一个结构体变量
var*/
MY_DATE
*
var
/*定义一个结构体变量指针
var*/
PMY_DATE
var
/*定义一个结构体变量指针
var*/
分析答案:
A)可用S定义结构体变量
错,应该用
struct
S
var
/*var是变量*/
B)可以用T定义结构体变量
错,可以用T定义结构体变量指针
C)可以用T定义指向结构体变量的指针
对
D)T是struct
S类型的变量
错,T是结构体指针类型
相当于
T
<=>
struct
S
*
c语言结构体是在C语言中一种重要的数据类型。该数据类型由一组称为成员(或称为域,或称为元素)的不同数据组成,其中每个成员可以具有不同的类型。结构体通常用来表示类型不同但是又相关的若干数据。结构体类型不是由系统定义好的,而是需要程序设计者自己定义的。C语言提供了关键字struct来标识所定义的结构体类型。
c语言结构体变量
c语言结构体变量是不同数据类型的若干数据的集合体。在程序中使用结构体变量时,一般情况下不能把它作为一一个整体参加数据处理,参见运算和操作的是结构体变量的各个成员的项数据。除此之外还可以引用结构体中的变量成员地址以及成员元素,结构体变量可以进行赋值运算。在数组中,数组是不能彼此赋值的,结构体变量可以相互赋值。