c语言中为结构体类型名定义typedef名。
typedef的作用是对数据类型进行同义声明。
1、
#include <stdio.h> #define NAME_LEN 64 typedef struct student{ //结构的类型名是struct student, 此处使用typedef为类型名strucnt student声明了Student的 typedef名,以下可以使用Student来代替 struct student。 char name[NAME_LEN]; //当为结构体类型定义 typedef名时, 结构名可以省略,本利中结构名是student,也就是说student可以省略。 int height; float weight; long schols; }Student; void fun(Student *x) // 函数的形参为指向Student型的结构体对象的指针 ,此处使用结构体类型的 typedef名代替结构体类型名 { if(x -> height < 180) // 使用箭头运算符可以访问结构体对象指针指向的结构体成员,因为传入的是指针,因此可以对结构体对象的结构体成员进行修改 x -> height = 180; if(x -> weight > 80) x -> weight = 80; } int main(void) { Student sanata = {"Sanata", 173, 87.2, 80000}; //此处使用typedef名代替结构体类型名。 fun(&sanata); // 函数的实参是 结构体对象的指针, 使用取址运算符获取地址(指针) printf("sanata.name: %s\n", sanata.name); printf("sanata.height: %d\n", sanata.height); printf("sanata.weight: %.2f\n", sanata.weight); printf("sanata.schols: %ld\n", sanata.schols); return 0; }
分类:
c/c++
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律