学习了怎样定义结构体类型和结构体类型变量,怎样正确地引用该结构体类型变量的成员呢?C 规定引用的形式为: <结构体类型变量名> . <成员名> 若我们定义的结构体类型及变量如下: struct data { int day. int month. int year. } time1,time2. 则变量time1和time2各成员的引用形式为:time1.day、 time1.month、time1.year及time2.day、time2.month、 time2.year,如图7-1所示。 其结构体类型变量的各成员与相应的简单类型变量使 用方法完全相同。 7.1.3结构体类型变量的初始化 由于结构体类型变量汇集了各类不同数据类型的成员,所以结构体类型变量的初始化就略显复杂。 结构体类型变量的定义和初始化为: struct stu / *定义学生结构体类型* / { char name[20]. / * 学生姓名* / char sex. / * 性别* / long num. / *学号* / float score[3]. / * 三科考试成绩* / }. struct stu student={"liping", f ,970541,98.5,97.4,95}.
我们也可以通过C提供的输入输出函数完成对结构体类型变量成员的输入输出。由于结构体类型变量成员的数据类型通常是不一样的,所以要将结构体类型变量成员以字符串的形式输入,利用C的类型转换函数将其转换为所需类型。类型转换的函数是: int atoi(char *str);转换str所指向的字符串为整型,其函数的返回值为整型。 double atof(char*str);转换str所指向的字符串为实型,其函数的返回值为双精度的实型。 long atol(char*str);转换str所指向的字符串为长整型,其函数的返回值为长整型。