示例1:
/* 基本定义 */
struct dd
{
char name[10];
int sex;
} bb; /* 定义结构,并声明结构变量 bb */
/*
或: 直接定义结构
struct dd
{
char name[10];
int sex;
}
*/
main()
{
/*声明两结构变量,并赋值*/
struct dd aa,bb;
clrscr();
printf("%s","please input date of 1:");
scanf("%s",aa.name);
scanf("%d",&aa.sex) ;
printf("please input date of 2:");
scanf("%s",bb.name);
scanf("%d",&bb.sex);
/*取出结构数据*/
printf("of 1:%s ,%d",aa.name,aa.sex);
printf("/n of2:%s %d",bb.name,bb.sex) ;
getch();
}
main()
{
/*在函数体内部定义 无名结构(结构变量)*/
struct {
char name[10];
int sex;
} aa;
scanf("%s",aa.name);
scanf("%d",&aa.sex);
printf("date: %s %d",aa.name,aa.sex);
getch();
}
示例2: 无名结构
main()
{
/*在函数体内部定义 无名结构(结构变量)*/
struct {
char name[10];
int sex;
} aa;
scanf("%s",aa.name);
scanf("%d",&aa.sex);
printf("date: %s %d",aa.name,aa.sex);
getch();
}
求例3: 结构数组
main()
{
/*定义结构变量*/
struct st
{
char name[10];
int sex;
};
int i;
struct st st1[2]; /*定义结构数组*/
/*结构数组赋值*/
for(i = 0 ; i < 2 ; i++)
{
printf("of %d/n",i);
scanf("%s",st1[i].name);
scanf("%d",&st1[i].sex);
}
/*打印结构数组*/
for(i = 0 ; i < 2 ; i++)
{
printf("%s %d/n",st1[i].name,st1[i].sex);
}
getch();
}
示例4 结构指针
main()
{
struct bb{
char addr[40];
};
struct aa{
struct bb addr;
char name[5];
};
struct aa *date;
int i;
clrscr();
date = (struct aa*)malloc(1 * sizeof(struct aa));
scanf("%s",date->name);
scanf("%s",date->addr.addr);
printf("%s %s/n",date->name,date->addr.addr);
free(date);
getch();
}
事实上 date->name 相关于 (*date).name