【C语言】typedef的使用
目录
一、什么是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的使用相关推荐
- C语言 | typedef
C语言typedef用新的类型名代替原有的类型名 //指定用Integer为类型名,作用与int相同. typedef int Integer://指定用Real为类型名,作用与float相同. ty ...
- C语言 typedef 和 define 区别 - C语言零基础入门教程
目录 一.typedef 简介 1.typedef 简化复杂的类型声明 A.定义普通变量 B.定义函数指针 C.定义结构体 2.定义与平台无关的类型 二.define 简介 三.typedef 和 d ...
- C语言 typedef - C语言零基础入门教程
目录 一.typedef 简介 二.typedef 实战 1.typedef 定义基本数据变量 2.typedef 定义结构体 A.常规定义结构体 B.typedef 定义结构体 C.结构体使用 ty ...
- C语言typedef:给类型起一个别名
C语言typedef:给类型起一个别名 C语言允许为一个数据类型起一个新的别名,起别名的目的不是为了提高程序运行效率,而是为了编码方便.例如有一个结构体的名字是 stu,要想定义一个结构体变量就得这样 ...
- C语言——typedef的用法
引言 typedef在C语言中给结构体取别名的用法很常见,这种用法很很容易理解,但当用typedef来给函数.数组取别名时,或许这种写法理解起来比较晦涩.以下用一些例子来展现typedef的部分用法. ...
- c语言typedef(c语言typedef和define)
什么是C语言 C語言是1972年左右由DennisRitchie一??人在?????室(?稱AT&T)設?開發出?淼碾?腦程式語言.他??r與KenThompson?扇斯餐??UNIX作?I ...
- C语言 typedef 简介
C语言 typedef 简介 typedef工具是一种高级数据特性,它能为某一类型创建自己的名字.在使用typedef时,要记住它并不创造新的类型:它只是创建便于使用的标签. 1.typedef与#d ...
- c语言typedef怎么自定义函数,C语言 typedef:给类型起一个别名
C语言允许为一个数据类型起一个新的别名,就像给人起"绰号"一样. 起别名的目的不是为了提高程序运行效率,而是为了编码方便.例如有一个结构体的名字是 stu,要想定义一个结构体变量就 ...
- c语言typedef结构体_typedef在C中具有结构的示例
c语言typedef结构体 The structure is a user-defined data type, where we declare multiple types of variable ...
- C语言typedef小结1(转载自百度百科)
声明:此信息是转载自百度百科中 http://baike.baidu.com/view/1283800.htm 的信息 typedef小结 1.使用typedef为现有类型创建同义字,定义易于记忆的 ...
最新文章
- R可视化雷达图(Radar Charts)
- 语义,艰难旅程上你所需要知道的
- Python File(文件) 方法
- HTTP的301与302
- NPOI导出excel
- 根据窗口名称查找关键字弹性域用到的表,列等信息
- Rational Rose 2003 下载、破解及安装方法(图文)
- postgresql 查看page, index, tuple 详细信息
- 新加入一个团体,如何能尽快的展开测试工作(转载)
- remote collaboration on physical tasks 应用
- Unity Shader (二)
- js控制flash播放器
- 正宗eMule官方网站导航
- conda:未找到命令的解决方法
- 一个想成为码龙的码农
- Recon-NG进行信息收集
- 若不是因为生活所迫,谁愿把自己搞得满身才华
- Vue+ant-design-pro(2)动态路由
- win10安装与配置JDK的环境变量
- APISpace 分钟级降水预报API