结构体指针 c语言例题
时间: 2023-09-25 22:06:17 浏览: 156
下面是一个结构体指针的 C 语言例子:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义一个结构体类型
struct student {
char name[20];
int age;
float score;
};
int main() {
// 动态分配结构体内存并初始化
struct student *s = (struct student *)malloc(sizeof(struct student));
strcpy(s->name, "Tom");
s->age = 18;
s->score = 89.5;
// 使用指针访问结构体成员并打印
printf("name: %s\n", s->name);
printf("age: %d\n", s->age);
printf("score: %.1f\n", s->score);
// 释放内存
free(s);
return 0;
}
```
这个例子定义了一个结构体类型 `struct student`,包含姓名、年龄和成绩三个成员。在主函数中,使用 `malloc` 函数动态分配了一个结构体内存,并使用指针访问结构体成员并打印输出。最后使用 `free` 函数释放了内存。
相关问题
c语言指针和结构体例题
好的,以下是一个简单的例子,演示如何在 C 语言中使用指针和结构体:
```c
#include <stdio.h>
// 定义一个结构体类型
struct student {
char name[20];
int age;
float score;
};
int main() {
// 定义一个结构体变量
struct student s = {"Tom", 18, 90.5};
// 定义一个指向结构体的指针变量
struct student *p;
// 指针变量指向结构体变量的地址
p = &s;
// 通过指针访问结构体成员
printf("Name: %s\n", p->name);
printf("Age: %d\n", p->age);
printf("Score: %.1f\n", p->score);
return 0;
}
```
在上面的例子中,我们首先定义了一个结构体类型 `student`,包含三个成员:`name`、`age` 和 `score`。然后在 `main` 函数中,我们定义了一个结构体变量 `s`,并初始化其成员。接着定义了一个指向结构体的指针变量 `p`,并将其指向结构体变量 `s` 的地址。最后通过指针变量 `p` 访问结构体成员,输出了结构体变量 `s` 的值。
希望这个例子可以帮助你更好地理解 C 语言中的指针和结构体的用法。
阅读全文