目录

一、什么是typedef

二、typedef用法

1、对于数据类型使用例如:

2、对于指针的使用例如

3、对于结构体的使用

三、进阶typedef

1、数组指针

2、指针函数

3、Int *(*array[3])(int);

4、Void (*funA(int,void(*funB)(int)))(int);

四、Typedef与define


一、什么是typedef

typedef是在C和C++编程语言中的一个关键字。作用是为现有的数据类型(int、float、char……)创建一个新的名字,目的是为了使代码方便阅读和理解。

二、typedef用法

1、对于数据类型使用例如:

typedef  int   NEW_INT;

以上就是给int起了一个新的名字NEW_INT,注意要加分号。当要定义int类型数据时就可以:

NEW_INT num;

此时NEW_INT num 等同于 int num。

2、对于指针的使用例如

typedef  int   *PTRINT;

以上就是给int *起了一个新的名字NEW_INT。可定义int类型指针变量如:

PTRINT x;

此时PTRINT x等同于int *x。

例:

3、对于结构体的使用

在声明结构体时可为结构体和结构体指针起别名,如:

typedef struct NUM
{int a;int b;
}DATA,*PTRDATA;

此时DATA等同于struct NUM,*PTRDATA等同于struct NUM *。

定义结构体变量及指针可简化为:

   DATA data;           //定义结构体变量PTRDATA pdata;   //定义结构体指针

举个例子:

#include <stdio.h>typedef struct NUM
{int a;int b;
}DATA,*PTRDATA;int main()
{DATA data;           //定义结构体变量PTRDATA pdata;   //定义结构体指针pdata=&data;      //结构体指针指向结构体变量      data.a=100;data.b=500;printf("a=%d\nb=%d\n",data.a,data.b);printf("a=%d\nb=%d\n",pdata->a,pdata->b);return 0;
}

运行结果:

三、进阶typedef

1、数组指针

int (*ptr)[3];

使用Typedef:

typedef int (*PTR_TO_ARRAY)[3];

例:

#include <stdio.h>typedef int (*PTR_TO_ARRAY)[3];int main()
{Int I;Int temp[3]={1,2,3};PTR_TO_ARRAY ptr_to_array;ptr_to_array = &temp;for(i+0;i<3;i++){printf("%d\n",(*ptr_to_array)[i]);}return 0;
}

2、指针函数

int (*fun)(void);

使用Typedef:

typedef int (*PTR_TO_FUN)(void);

3、Int *(*array[3])(int);

int *(*array[3])(int);

使用Typedef:

typedef int *(*PTR_TO_FUN)(int);PTR_TO_FUN array[3];

4、Void (*funA(int,void(*funB)(int)))(int);

void (*funA(int,void(*funB)(int)))(int);void (*funA(参数))(int);

使用Typedef:

typedef void (*PTR_TO_FUN)(void);PTR_TO_FUN funA(int, PTR_TO_FUN);

四、Typedef与define

Typedef是起别名,define是替换。

例如:

typedef int *PTR;PTR a,b;

此时a,b都是指针变量。

#define PTR int*PTR a,b;

此时等同于

int *a,b;

只有a为指针变量,而b为整型变量。

【C语言】typedef的使用相关推荐

  1. C语言 | typedef

    C语言typedef用新的类型名代替原有的类型名 //指定用Integer为类型名,作用与int相同. typedef int Integer://指定用Real为类型名,作用与float相同. ty ...

  2. C语言 typedef 和 define 区别 - C语言零基础入门教程

    目录 一.typedef 简介 1.typedef 简化复杂的类型声明 A.定义普通变量 B.定义函数指针 C.定义结构体 2.定义与平台无关的类型 二.define 简介 三.typedef 和 d ...

  3. C语言 typedef - C语言零基础入门教程

    目录 一.typedef 简介 二.typedef 实战 1.typedef 定义基本数据变量 2.typedef 定义结构体 A.常规定义结构体 B.typedef 定义结构体 C.结构体使用 ty ...

  4. C语言typedef:给类型起一个别名

    C语言typedef:给类型起一个别名 C语言允许为一个数据类型起一个新的别名,起别名的目的不是为了提高程序运行效率,而是为了编码方便.例如有一个结构体的名字是 stu,要想定义一个结构体变量就得这样 ...

  5. C语言——typedef的用法

    引言 typedef在C语言中给结构体取别名的用法很常见,这种用法很很容易理解,但当用typedef来给函数.数组取别名时,或许这种写法理解起来比较晦涩.以下用一些例子来展现typedef的部分用法. ...

  6. c语言typedef(c语言typedef和define)

    什么是C语言 C語言是1972年左右由DennisRitchie一??人在?????室(?稱AT&T)設?開發出?淼碾?腦程式語言.他??r與KenThompson?扇斯餐??UNIX作?I ...

  7. C语言 typedef 简介

    C语言 typedef 简介 typedef工具是一种高级数据特性,它能为某一类型创建自己的名字.在使用typedef时,要记住它并不创造新的类型:它只是创建便于使用的标签. 1.typedef与#d ...

  8. c语言typedef怎么自定义函数,C语言 typedef:给类型起一个别名

    C语言允许为一个数据类型起一个新的别名,就像给人起"绰号"一样. 起别名的目的不是为了提高程序运行效率,而是为了编码方便.例如有一个结构体的名字是 stu,要想定义一个结构体变量就 ...

  9. c语言typedef结构体_typedef在C中具有结构的示例

    c语言typedef结构体 The structure is a user-defined data type, where we declare multiple types of variable ...

  10. C语言typedef小结1(转载自百度百科)

    声明:此信息是转载自百度百科中  http://baike.baidu.com/view/1283800.htm 的信息 typedef小结 1.使用typedef为现有类型创建同义字,定义易于记忆的 ...

最新文章

  1. R可视化雷达图(Radar Charts)
  2. 语义,艰难旅程上你所需要知道的
  3. Python File(文件) 方法
  4. HTTP的301与302
  5. NPOI导出excel
  6. 根据窗口名称查找关键字弹性域用到的表,列等信息
  7. Rational Rose 2003 下载、破解及安装方法(图文)
  8. postgresql 查看page, index, tuple 详细信息
  9. 新加入一个团体,如何能尽快的展开测试工作(转载)
  10. remote collaboration on physical tasks 应用
  11. Unity Shader (二)
  12. js控制flash播放器
  13. 正宗eMule官方网站导航
  14. conda:未找到命令的解决方法
  15. 一个想成为码龙的码农
  16. Recon-NG进行信息收集
  17. 若不是因为生活所迫,谁愿把自己搞得满身才华
  18. Vue+ant-design-pro(2)动态路由
  19. win10安装与配置JDK的环境变量
  20. APISpace 分钟级降水预报API

热门文章

  1. windows10去掉登录密码
  2. flex安卓手机、苹果手机兼容问题
  3. Vite创建Vue2项目
  4. 数据库原理分析(第四版)
  5. 自适应来电模拟器微信小程序源码/可自定义来电名称归属地铃声等
  6. 2021-2027全球与中国家畜口蹄疫 (FMD) 疫苗市场现状及未来发展趋势
  7. 18个扩展让你的Firefox成为渗透测试工具
  8. 一个基于Flask框架做的仿QQ邮箱系统(收发邮件、贝叶斯模型训练、垃圾邮件过滤、个性化标签)
  9. 华大计算机面试题,华大基因java初级笔试题.docx
  10. Vue2 中 Observer 一些探究