结构体概念
什么是结构体?
结构体是我们自己创造出来的一种类型。
结构体创建的意义是什么呢?
用来解决复杂的对象。
话不多说,我们先举一个简单的例子!
#include <stdio.h>
//创建一个结构体类型
struct Book
{
char name[20];
short price;
};
int main()
{
//利用结构体类型创建一个该类型的变量
struct Book book = {"CSDN",66};
printf("书名:%s\n",book.name);
printf("价格:%d\n",book.price);
return 0;
}
这样我们一个简单的结构体就实现了!
那如果我们要修改结构体里面的内容,应该怎么操作呢?
#include <stdio.h>
#include <string.h>
struct Book
{
char name[20];
short price;
};
int main()
{
struct Book book = {"CSDN",66};
strcpy(book.name, "Fancy");
book.price=55;
printf("书名:%s\n",book.name);
printf("价格:%d\n",book.price);
return 0;
}
#include <stdio.h>
struct Book
{
char name[20];
short price;
};
int main()
{
struct Book book = {"CSDN",66};
struct Book* p = &book;
return 0;
}
在这里定义了一个变量p,它的类型是结构体指针,它指向book。
那我们如何通过p找到我们的书名和价格呢?
#include <stdio.h>
struct Book
{
char name[20];
short price;
};
int main()
{
struct Book book = {"CSDN",66};
struct Book* p = &book;
printf("书名:%s\n",(*p).name); //通过(*p)就可以找到book,那书名就是(*p).name
printf("价格:%d\n",(*p).price);
return 0;
}
#include <stdio.h>
struct Book
{
char name[20];
short price;
};
int main()
{
struct Book book = {"CSDN",66};
struct Book* p = &book;
printf("书名:%s\n",p->name); //p指向book的name 指针指向对象的关系
printf("价格:%d\n",p->price);
return 0;
}
总结:
. 操作符 : 结构体变量.成员
-> 操作符 :结构体指针->成员
因篇幅问题不能全部显示,请点此查看更多更全内容