如何不用typedef定义结构体指针,举例
时间: 2023-06-29 19:14:59 浏览: 58
可以使用`struct`关键字来定义结构体指针,例如:
```c
#include <stdio.h>
// 定义结构体类型
struct student {
char name[20];
int age;
char gender;
};
int main() {
// 定义结构体指针变量
struct student *stu_ptr;
// 定义结构体变量,并将其地址赋给指针变量
struct student stu = {"Tom", 20, 'M'};
stu_ptr = &stu;
// 使用指针访问结构体成员
printf("Name: %s\n", stu_ptr->name);
printf("Age: %d\n", stu_ptr->age);
printf("Gender: %c\n", stu_ptr->gender);
return 0;
}
```
在上面的例子中,我们通过使用`struct`关键字来定义结构体指针变量`stu_ptr`,并将指向结构体变量`stu`的地址赋给它。然后,我们使用指针访问结构体成员,通过`->`运算符来访问结构体成员。最终,我们输出了结构体成员的值。
相关问题
typedef 定义的指针型的结构体名字的作用,请举例
typedef 定义的指针型结构体名字的作用是可以简化代码,使代码更加易读易懂。通过使用 typedef,我们可以给一个复杂的结构体类型起一个简单易记的名字,使代码看起来更加清晰简洁。
例如:
```
typedef struct {
int x;
int y;
} Point;
Point p1 = {1, 2};
Point *p2 = &p1;
printf("(%d, %d)\n", p2->x, p2->y);
```
在这个例子中,我们使用 typedef 定义了一个名为 Point 的结构体类型,它包含两个整型成员变量 x 和 y。我们可以使用 Point 来定义结构体变量 p1,也可以使用 Point* 来定义指向 Point 结构体的指针变量 p2。这样,我们就可以使用 p2->x 和 p2->y 来访问结构体成员变量,而不需要写成 (*p2).x 和 (*p2).y 的形式,使得代码更加简洁易读。
typedef 举例
typedef enum是C语言中的一种关键字,用于定义枚举类型。枚举类型是一种用户自定义的数据类型,它可以包含一组常量,这些常量称为枚举值。枚举类型可以用于表示一组相关的常量,例如星期几、月份等。
typedef struct也是C语言中的一种关键字,用于定义结构体类型。结构体类型是一种用户自定义的数据类型,它可以包含多个不同类型的数据成员,这些数据成员可以是基本数据类型、指针类型或其他结构体类型。结构体类型可以用于表示一个复杂的数据结构,例如学生信息、员工信息等。