用指针传递结构体数组
时间: 2023-11-24 08:48:30 浏览: 278
可以使用指向结构体的指针来传递结构体数组。具体步骤如下:
1.定义一个结构体类型;
2.定义一个结构体数组;
3.定义一个指向结构体的指针;
4.将结构体数组的首地址赋值给指针;
5.通过指针访问结构体数组中的元素。
具体代码如下:
```
#include <stdio.h>
struct Book {
char title[128];
char author[40];
float price;
unsigned int date;
char publisher[40];
};
void printBooks(struct Book *ptr, int size) {
int i;
for (i = 0; i < size; i++) {
printf("Book %d title: %s\n", i+1, (ptr+i)->title);
printf("Book %d author: %s\n", i+1, (ptr+i)->author);
printf("Book %d price: %.2f\n", i+1, (ptr+i)->price);
printf("Book %d date: %u\n", i+1, (ptr+i)->date);
printf("Book %d publisher: %s\n", i+1, (ptr+i)->publisher);
}
}
int main() {
struct Book books[3] = {
{"《零基础入门学习Python》", "小甲鱼", 49.5, 20161111, "清华大学出版社"},
{"《零基础入门学习Scratch》", "不二如是", 49.9, 20171001, "清华大学出版社"},
{"《带你学C带你飞》", "小甲鱼", 49.9, 20171111, "清华大学出版社"}
};
struct Book *ptr = books;
printBooks(ptr, 3);
return 0;
}
```
阅读全文