结构体的结构如下:
struct 结构体名
{
成员列表(可以是基本数据类型,指针,数组或其它结构体)
};
结构体相当于自己设置了一种数据的类型,类型名即结构体的名字。
例如:
struct Student
{
char s_id[8];
char s_name[8];
char s_sex[4];
int s_age;
};
int main()
{
int a = 10;
int ar[10] = { 12,23,34,45 };
struct Student stud1 = { "09001","yhping","man",23 };
struct Student stud2 = { "yhping","man" };
return 0;
}
结构体里面包含基础数据类型或其它结构体。
通过结构体变量名称访问结构体内部数据,用‘.’。
通过指针访问结构体内部数据,用‘->’。
结构体相当于另一种数据类型,所以同种不同名的结构体可以相互赋值。
struct Date
{
int year;
int month;
int day;
};
struct Student
{
char s_name[20];
struct Date birthday;
float score;
};
int main()
{
struct Student stud1 = { "yhping",2000,12,12,145.5 };
struct Student stud2 = { "tulun",{2006,9,8},150.0 };
struct Student stud3 = stud1;
struct Student stud4 = {};
stud4 = stud2;
int year = stud1.birthday.year;
struct Student* sp = &stud1;
year = sp->birthday.year;
return 0;
}
结构体内部不能嵌套自身,但可以嵌套结构体指针。
struct Student
{
char s_id[12];
char s_name[12];
char s_sex[4];
int s_age;
};
int main()
{
struct Student stud;
return 0;
}
结构体变量名调用数据,通过指针调用数据。
struct Student
{
char s_id[12];
char s_name[14];
char s_sex[6];
int s_age;
};
int main()
{
struct Student stud = { "09001","yhping","man",23 };
struct Student* sp = &stud;
int age1 = (*sp).s_age;
int age = stud.s_age;
stud.s_age = 100;
printf("%s %s %s %d\n", stud.s_id, stud.s_name, stud.s_sex, stud.s_age);
char id[12];
strcpy_s(id, 12, stud.s_id);
stud.s_age = 12;
strcpy_s(stud.s_id, 12, "09008");
const char* s = "09008";
s = "09009";
return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)