struct Book { int bookNo; char bookName[50]; float price;}
时间: 2024-05-01 19:23:32 浏览: 11
这是一个C++的结构体定义,结构体名为Book,包含三个成员变量bookNo、bookName和price,分别表示书籍编号、书名和价格。其中,bookNo是一个整数类型,bookName是一个长度为50的字符数组类型,price是一个浮点数类型。可以用以下方式定义一个结构体变量:
```
Book book1 = {1, "C++ Primer", 59.9};
```
这样就定义了一个名为book1的Book类型变量,其bookNo为1,bookName为"C++ Primer",price为59.9。可以通过以下方式访问结构体成员:
```
cout << book1.bookNo << endl; // 输出1
cout << book1.bookName << endl; // 输出C++ Primer
cout << book1.price << endl; // 输出59.9
```
相关问题
struct student{ int number; char *name; char sex; float score; };怎样访问name
结构体student中的name成员是一个指向char类型的指针,因此访问name需要使用间接访问运算符 ->。示例代码如下:
```c
struct student {
int number;
char *name;
char sex;
float score;
};
int main() {
struct student stu;
stu.name = "Tom"; // 给name赋值
printf("Name: %s\n", stu.name); // 使用间接访问运算符 -> 访问name成员
return 0;
}
```
在上面的代码中,我们定义了一个结构体student,其中包含一个指向char类型的指针name。接着定义了一个结构体变量stu,并使用stu.name将指针指向一个字符串。最后使用间接访问运算符 -> 访问name成员,并输出结果。
需要注意的是,访问结构体中的指针时要确保指针指向的内存已经被分配和初始化,否则可能会导致访问非法内存的错误。
根据提示,在右侧编辑器补充代码,完成如下任务: 定义如下图书结构体,用指针变量从键盘输入图书的各项数据并输出。 struct Book { char ISBN[20]; char bookname[20]; char author[20]; double price; int number; };
```
#include <stdio.h>
struct Book {
char ISBN[20];
char bookname[20];
char author[20];
double price;
int number;
};
int main() {
struct Book book;
struct Book *p = &book;
printf("请输入ISBN号:");
scanf("%s", p->ISBN);
printf("请输入书名:");
scanf("%s", p->bookname);
printf("请输入作者:");
scanf("%s", p->author);
printf("请输入价格:");
scanf("%lf", &(p->price));
printf("请输入数量:");
scanf("%d", &(p->number));
printf("\nISBN号:%s\n", p->ISBN);
printf("书名:%s\n", p->bookname);
printf("作者:%s\n", p->author);
printf("价格:%.2lf\n", p->price);
printf("数量:%d\n", p->number);
return 0;
}
```