美图欣赏 | 设为首页 | 加入收藏 | 网站地图

当前位置:电脑中国 > 编程 > C语言 >

结构体的定义和使用

2018-11-07 15:54|来源:未知 |作者:dnzg |点击:
前面我们已经讨论过字符数组与字符串,字符指针也可以指向一个字符串,可以用字符串常量对字符指针进行初始化。例如:char*str="www.dotcpp.com";这是对字符指针进行初始化。此时,字符指针指向一个字符串常量的首地址。  
结构体与数组类似,都是由若干分量组成的,与数组不同的是,结构体的成员可以是不同类型,可以通过成员名来访问结构体的元素。  
结构体的定义说明了它的组成成员,以及每个成员的数据类型。定义一般形式如下:  
struct结构类型名  
{  
数据类型成员名1;  
数据类型成员名2;  
......  
数据类型成员名n;  
};  
结构的定义说明了变量在结构中的存在格式,要使用该结构就必须说明结构类型的变量。结构变量说明的一般形式如下:  
struct结构类型名称结构变量名;  
定义结构体便是定义了一种由成员组成的复合类型,而用这种类型说明了一个变量才会产生具体的实体。与说明基本数据类型的变量一样,系统会按照结构定义时的内部组成,为说明的结构变量分配内存空间。结构变量的成员在内存中占用连续的存储区域,所占内存大小为结构中每个成员的长度之和。  
我们可以将变量student1说明为address类型的结构变量:  
structaddressstudent1;  
虽然,结构体作为若干成员的集合是一个整体,但在使用结构时,不仅要对结构的整体进行操作,还  
经常要访问结构中的每一个成员。在程序中使用机构中成员的方法为:  
结构变量名.成员名称  
如student1.tel表示结构变量student1的电话信息。  
和其他类型的变量一样,结构变量也可以进行初始化。结构初始化的一般形式如下:  
struct结构类型名结构变量=  
{初始化数据1,......初始化数据n};  
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
#include<stdio.h>  
#include<string.h>  
struct_INFO  
{  
intnum;  
charstr[256];  
};  
intmain()  
{  
struct_INFOA;  
A.num=2014;  
strcpy(A.str,"Welcometodotcpp.com");  
printf("Thisyearis%d%s\n",A.num,A.str);  
return0;  
}
(责任编辑:dnzg)
新锦江娱乐 关闭广告
新锦江娱乐 关闭广告