曦远 (DealiAxy)一份私人的文字刊物

StarBlog
返回文章列表折页手记阅读全文
数据结构

C语言准备知识:typedef-和-typedef-struct

typedef typedef existing new; typedef 的功能是建立新的数据类型名,比如: typedef int Length; // 数据类型 typedef char *String; // 字符指针 typedef struct tnode *Treeptr; // 指针 typedef int (*PFI) (char *, char *); // 指向函

曦远 (DealiAxy)约 3 分钟
目录6 个章节

typedef

typedef existing new;

typedef 的功能是建立新的数据类型名,比如:

typedef int Length;  // 数据类型

typedef char *String;  // 字符指针

typedef struct tnode *Treeptr;  // 指针

typedef int (*PFI) (char *, char *); // 指向函数的指针

Length l = 120;
printf("%d \n", l);

typedef 声明并没有创建一个新类型,它只是为某个已存在的类型增加了一个新的名称而已。

使用 typedef 的两个关键好处是:

  • 可以使程序参数化,提高程序的移植性。
  • 可以为程序提供更好的说明性,增加可读性。

struct

struct 用于定义一个包含多个成员的新的数据类型。分别有以下 4 种定义方式:

方式 1:不指定类型名,直接声明结构体变量(不推荐使用)

struct {
    int age;
} student;

student.age = 18;
printf("%d \n", student.age);

方式 2:先定义类型名,再声明结构体变量

特点:每次都需要使用 struct 类型名 去声明变量。

struct Student {
    char name;
    int age;
};

struct Student student1;
student1.age = 20;

方式 3:定义类型名并声明结构体变量

struct HeadTeacher {
    int age;
} h1;

h1.age = 50;
struct HeadTeacher h2;
h2.age = 70;
printf("head teacher1 age = %d \n", h1.age);
printf("head teacher2 age = %d \n", h2.age);

方式 4:定义类型名并起别名 (推荐)

typedef struct {
    int age;
} Teacher;

Teacher t;
t.age = 30;
printf("teacher age = %d \n", t.age);

_EOF_

C语言准备知识:typedef-和-typedef-struct

本文作者:
程序设计实验室
版权声明:
本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

相关文章

解决Mac刘海屏菜单栏图标显示不全,两款工具实测(含开源免费方案)

本文分享了MacBook Air M4用户遇到的菜单栏图标过多导致显示不全的问题,并提供了两种解决方案:收费软件Bartender 4(15美元)和开源免费工具Ice。作者详细介绍了Ice的安装方法(通过brew或手动下载)及使用体验,展示了其灵活的图标折叠、扩展菜单和自定义设置功能,认为其效果与收费版相当。文章旨在帮助用户优化MacOS菜单栏空间管理。

2025-08-26 · Mac · 约 1 分钟

Vue2.x项目整合ExceptionLess监控

前言 一直以来我们都是用Sentry做项目监控,不过前段时间我们的Sentry坏掉了~~(我搞坏的)~~ 但监控又是很有必要的,在sentry修好之前,我想先寻找一个临时的替代方案,同时发现网上关于ExceptionLess的资料少得可怜,ExceptionLess官方的文档也不是很完善,翻了好久文档和源码,于是有了本文…… 关于ExceptionLess 写.NetCore的同学应该不会陌生,这

2022-03-23 · Web前端 · 约 1 分钟

讨论

共 0 条

良言一句三冬暖,恶语伤人六月寒。

加载评论中…