C语言:typedef

这是很基础的教程,我只是写给自己看,作为一个学习笔记记录一下,如果正在阅读的你觉得简单,请不要批评,可以关掉选择离开

如何学好一门编程语言

  • 掌握基础知识,为将来进一步学习打下良好的基础。
  • 上机实践,通过大量的例题学习怎么设计算法,培养解题思路。
  • 养成良好的编码习惯,注释一定要写,要不然保你一周后自己写的代码都不认识了

  我们可以使用 typedef 来为 类型取一个新的名字。

typedef unsigned char BYTE;

在这个类型定义之后,标识符 BYTE 可作为类型 unsigned char 的缩写,例如:

BYTE  b1, b2;

我们也可以使用 typedef 来为数据类型 取一个新的名字。

例如,您可以对结构体使用 typedef 来定义一个新的数据类型名字,然后使用这个新的数据类型来直接定义结构变量,

#include <stdio.h>
#include <string.h>

typedef struct Books{
    char  title[50];
    char  author[50];
    char  subject[100];
    int   book_id;
} Book;

int main(){
    Book book;    //取代了 struct Books book;

    strcpy(book.title, "C 教程");
    strcpy(book.author, "Runoob");
    strcpy(book.subject, "编程语言");
    book.book_id = 12345;

    printf("书标题 : %s\n", book.title);
    printf("书作者 : %s\n", book.author);
    printf("书类目 : %s\n", book.subject);
    printf("书 ID : %d\n", book.book_id);

    return 0;
}
书标题 : C 教程
书作者 : Runoob
书类目 : 编程语言
书 ID : 12345
结果

typedef vs #define

#define 是 C 指令,用于为各种数据类型定义别名,与 typedef 类似,但是它们有以下几点不同:

  • typedef 仅限于 为类型 定义 符号名称,#define 不仅可以为类型定义别名,也能为数值定义别名,比如您可以定义 1 为 ONE。
  • typedef 是由编译器执行解释的,#define 语句是由预编译器进行处理的。

 

参考

菜鸟教程

 

posted @ 2021-07-14 16:47  凌逆战  阅读(57)  评论(0编辑  收藏  举报