Dotcpp  >  编程教程  >  C语言结构体和共用体  >  C语言struct结构体的定义和使用

C语言struct结构体的定义和使用

点击打开在线编译器,边学边练

前面我们已经讨论过字符数组与字符串,字符指针也可以指向一个字符串,可以用字符串常量对字符指针进行初始化。例如:

char *str = "www.dotcpp.com" ;

这是对字符指针进行初始化。此时,字符指针指向一个字符串常量的首地址

结构体与数组类似,都是由若干分量组成的,与数组不同的是,结构体的成员可以是不同类型,可以通过成员名来访问结构体的元素。


结构体的定义说明了它的组成成员,以及每个成员的数据类型。定义一般形式如下:

struct 结构类型名 
{ 
    数据类型 成员名 1; 
    数据类型 成员名 2; 
    ...... 
    数据类型 成员名 n; 
};


结构的定义说明了变量在结构中的存在格式,要使用该结构就必须说明结构类型的变量。结构变量说明的一般形式如下:

struct 结构类型名称 结构变量名;


定义结构体便是定义了一种由成员组成的复合类型,而用这种类型说明了一个变量才会产生具体的实体。与说明基本数据类型的变量一样,系统会按照结构定义时的内部组成,为说明的结构变量分配内存空间。结构变量的成员在内存中占用连续的存储区域,所占内存大小为结构中每个成员的长度之和。


我们可以将变量student1说明为address类型的结构变量:

struct address student1;


虽然,结构体作为若干成员的集合是一个整体,但在使用结构时,不仅要对结构的整体进行操作,还经常要访问结构中的每一个成员。在程序中使用结构中成员的方法为:

结构变量名.成员名称


如student1.tel表示结构变量student1的电话信息。
和其他类型的变量一样,结构变量也可以进行初始化。结构初始化的一般形式如下:

struct 结构类型名 结构变量 = { 初始化数据 1, ...... 初始化数据 n };


#include<stdio.h>
#include<string.h> 
struct _INFO
{
    int num;
    char str[256];
};
int main() 
{
    struct _INFO A;
    A.num = 2014;
    strcpy(A.str,"Welcome to dotcpp.com");
    printf("This year is %d %s\n",A.num,A.str);
    return 0;
}


请亲自上机实验。



知识点标签:结构体


本文固定URL:https://www.dotcpp.com/course/38

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

C语言教程
第一章 C语言的过去与未来
第二章 C语言快速入门
第三章 C语言的数据类型
第四章 C语言中的基本输入输出
第五章 C语言运算符和表达式
第六章 C语句和程序流
第七章 C语言函数
第八章 C语言数组
第九章 C语言指针
第十章 C语言结构体和共用体
第十一章 C语言文件操作
第十二章 C语言预处理
第十三章 C语言位运算
第十四章 附录
Dotcpp在线编译      (登录可减少运行等待时间)