表示结构变量成员的一般形式如下:
结构变量名,成员名
eg boy.num
girl.sex
如果成员本身的类型有事一个数据类型,则必须逐级找到最低级的成员才能使用,egboy.birthday.month为男孩子的出生月份,结构类型变量的成员可以再程序中单独使用,与普通的变量完全相同。结构类型变量的赋值一般是给各成员赋值,可用输入语句或者赋值语句来完成
eg
strcpy
原型:extern char *strcpy(char *dest,char *src);
用法:#include <string.h>
功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void){
struct DataType
{
int year;
int month;
int day;
};
struct StudentType
{
int num;
char *name;
char sex[3];
struct DataType birthday;
float score;
};
struct StudentType student;
student.num=1010;
student.name="µÂ»ªÁõ";
strcpy(student.sex,"ÄÐ");
student.birthday.year=1962;
student.birthday.month=8;
student.birthday.day=18;
student.score=98.1;
printf("ѧºÅ:%d\n",student.num);
printf("ÐÕÃû:%s\n",student.name);
printf("ÐÔ±ð:%s\n",student.sex);
printf("ÉúÈÕ:%dÄê,%dÔÂ,%dÈÕ\n",student.birthday.year,student.birthday.month,student.birthday.day);
printf("³É¼¨:%4.lf\n",student.score);
system("PAUSE");
return 0;
}
上述程序中sex为一个字符数组,不能采用student.sex="男"直接进行赋值,而应该采用字符串函数strcpy进行赋值赋值