建立一个对象数组内放5个学生的数据,用指针指向数组首元素输出1,3,5的值
时间: 2024-02-25 22:57:12 浏览: 12
可以按以下步骤实现:
1. 定义一个学生结构体,包含学生的姓名和年龄等信息。
```
struct Student {
char name[20];
int age;
};
```
2. 定义一个对象数组,存储5个学生的数据。
```
Student students[5] = {
{"Tom", 18},
{"Peter", 19},
{"John", 20},
{"Mary", 21},
{"Alice", 22}
};
```
3. 定义一个指向对象数组首元素的指针。
```
Student* p = students;
```
4. 输出指针指向的对象数组中1,3,5位置的学生信息。
```
printf("1: %s, %d\n", (p+0)->name, (p+0)->age); // 输出第1个学生信息
printf("3: %s, %d\n", (p+2)->name, (p+2)->age); // 输出第3个学生信息
printf("5: %s, %d\n", (p+4)->name, (p+4)->age); // 输出第5个学生信息
```
完整代码如下:
```
#include <stdio.h>
struct Student {
char name[20];
int age;
};
int main() {
Student students[5] = {
{"Tom", 18},
{"Peter", 19},
{"John", 20},
{"Mary", 21},
{"Alice", 22}
};
Student* p = students;
printf("1: %s, %d\n", (p+0)->name, (p+0)->age); // 输出第1个学生信息
printf("3: %s, %d\n", (p+2)->name, (p+2)->age); // 输出第3个学生信息
printf("5: %s, %d\n", (p+4)->name, (p+4)->age); // 输出第5个学生信息
return 0;
}
```