结构体的应用
- 还有一个问题:结构体指针嵌套结构体指针怎么用,知道的可以评论一下,谢谢。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct school
{
int num_school;
char type_school[32];
struct department
{
char depart1[32];
char depart2[16];
struct class
{
char class1[8];
char class2[8];
}cls;
}depart_name;
struct teacher
{
char tch1[8];
char tch2[8];
}tch_name;
}sch;
struct phone_name
{
char *brand[8];
char name[16];
struct price_num
{
int num;
char num_price[8];
} price;
struct phone_vivo
{
char *name[8];
char brand[8];
} *vivo;
} *phone;
int main()
{
phone = (struct phone_name *)malloc(sizeof(struct phone_name));
memcpy((void *)phone->price.num_price,(void *)"oppo",8);
printf("phone_price_num_price = %s\n",phone->price.num_price);
phone->price.num = 1;
printf("phone_price_num = %d\n",phone->price.num);
memcpy(&phone->brand,(void *)"huawei",8);
printf("phone_brand = %s\n",(char *)phone->brand);
注意:%s为:char *类型,phone->brand为:char **类型,所以可以用强制类
型转换来防止警告
strcpy(phone->name,"vivo");
printf("phone_name = %s\n",phone->name);
sch.num_school = 0;
strcpy(sch.type_school,"HDU");
strcpy(sch.depart_name.depart1,"college of electronic information");
strcpy(sch.depart_name.cls.class1,"master 6 class");
printf("sch.num_school = %d\n",sch.num_school);
printf("sch.depart_name.depart1 = %s\n",sch.depart_name.depart1);
printf("sch.depart_name.cls.class1 = %s\n",sch.depart_name.cls.class1);
return 0;
}