程序开发人员使用结构体来封装一些属性,设计出新的类型,在c语言中被称为结构体类型。
在C语言中,结构体是一种数据类型(由程序开发者自己设计的类型)
例:设计一个学生类
struct Student
{
char s_id[10];//学号
char s_name[10];//姓名
char s_sex[4];//性别
char s_age[4];//年龄
}Stud;//全局结构体变量 = struct Student Stud;
int main()
{
int a = 10;
struct Student stud = { "3904","gouzi","man","20" };
struct Student* sp = &stud;
printf("id:%s\n", stud.s_id);
printf("name:%s\n", stud.s_name);
printf("sex:%s\n", stud.s_sex);
printf("age:%s\n", stud.s_age);
printf("id:%s\n", sp->s_id);
printf("name:%s\n", sp->s_name);
printf("sex:%s\n", (*sp).s_sex);
printf("age:%s\n", (*sp).s_age);
return 0;
}
如果在主函数中创建的结构体,其可见性仅在此函数中有效。
结构体若想访问成员使用.来访问,指针则使用指向符(->)来访问。如sp ->s_id和(*sp).s_id作用相同。
因为.的优先级高于*所以在写指针变量访问时要加一个括号