c语言_Day9_07_08
c语言_Day9_07_081、初识结构体
对于相对复杂的数据,如人、书、车辆等,可通过结构体对其进行定义
struct关键字可定义结构体类型,也可创建结构体变量,通过“.”操作符可访问结构体变量内的字段
int main()
{
struct Book // 定义结构体类型
{
char name;
float price;
};
struct Book book = { "Math", 20.59 }; // 创建结构体变量
printf("Book name: %s\n", book.name);
printf("Book price: %f\n", book.price);
return 0;
}
对于结构体变量的指针,与普通指针变量特点一致,但可通过“->”操作符直接访问指针指向的变量的成员
int main()
{
struct Student
{
char name;
int age;
int score;
};
struct Student stu = { "Tom", 18, 90 };
struct Student* p = &stu;
printf("Name: %sage: %dscore: %d\n", stu.name, stu.age, stu.score);
printf("%p\n", p);
printf("Name: %sage: %dscore: %d\n", (*p).name, (*p).age, (*p).score);
printf("Name: %sage: %dscore: %d\n", p->name, p->age, p->score);
return 0;
}
注:由于字符串的本质为字符数组,故无法直接修改其值,可通过strcpy函数**或**遍历数组进行修改
for (int i = 0; i < strlen(p.name); i++)
{
p.name = 65 + i;
}
printf("%s\n", p.name);
strcpy(p.name, "Bill");
printf("%s\n", p.name);
文档来源:51CTO技术博客https://blog.51cto.com/u_15285915/3019027
页:
[1]