C++ typedef关键字
来源:互联网 发布:java开发app 编辑:程序博客网 时间:2024/04/25 08:26
关键字:typedef
功能:为现有的类型名创建一个新的,容易记住的名字,并隐藏原有的笨拙的语法结构,增加美观;
使用目的:A、给变量一个容易记且有意义的新名字;
B、简化一些复杂的类型声明;
使用格式:typedef exist_type new_type_name
1、int/double/char等常见定义
格式:typedef int name_int;声明中定义了int的同义词name_int,可以在任何使用int的地方用name_int;
typedef unsigned char name_char; 声明中定义了unsigned char的同义词name_char,可以在任何使用int的地方用name_char;
2、数组/指针
格式:typedef int name[128];使用typedef定义后,可直接使用name代替int name[128] ;
typedef char* pstr; 使用typedef定义后,可直接使用pstr代替char* pstr;
eg: typedef char* pstr;
pstr str = "abcde";
char mystrcmp(pstr, pstr);
3、函数
若有 void print_name(int);
定义一个函数指针,使其指向print_name并调用;
void (*fun_name)(int); //声明一个函数指针,调用参数是int型,变量名是fun_name
fun_name = &print_name;
以上便是声明一个函数指针,并使其指向print_name函数,然而其比较复杂,简化的声明如下:
typedef void (*PrintHelloHandle)(int);
使用代码如下:
PrintHelloHandle fun_name;
fun_name = &printHello; (*pFunc)(110);
以后其他地方的程序需要声明类似的函数指针,只需要下面代码:
PrintHelloHandle pFuncOther;
这样,代码就变得更加简洁易懂。
4、结构体
typedef struct A //这里的A可以省略!形成一个匿名结构体 A是结构体名
{
int a;
int b;
}B;
因为前面有typedef命令,所以B不是变量,而是一个新的数据类型,相当于struct A
可以用B来定义变量,如:
B aa与struct A aa ;是一个意思
5、注意
A-typedef 并不创建新的类型;
B-仅仅为现有类型添加一个同义字
C-typedef并不创建新的类型,typedef在编译时被解释
- C/C++:typedef关键字
- 【c/c++】关键字typedef
- C语言typedef 关键字
- C语言 - typedef关键字
- C语言--typedef关键字
- C语言关键字--- enum typedef
- C语言typedef关键字总结
- 黑马程序员-C-关键字typedef
- c/c++关键字typedef用法
- 初探C/C++ typedef关键字
- 初探C/C++ typedef关键字
- C语言的 typedef 关键字
- C语言之关键字typedef
- C语言中的typedef关键字的使用
- 《C关键字分析》之typedef与callback
- <C/C++基础>关键字typedef用法总结
- C语言的关键字typedef的用法
- 16、黑马程序员-C语言typedef关键字
- 温故而知新——之(Activity弹窗属性)
- Pow应用
- RocketMq Exception "connect to <:10909> failed"问题
- 直播总结
- 马拦过河卒
- C++ typedef关键字
- 解决:Invalid escape sequence (valid ones are \b \t \n \f \r \” \’ \\ )
- 关于AngularJS学习整理---核心特性
- 从零开始学习Python在e站上下载蕾姆的本子
- 选中一行或多行的快捷键
- 测试apsx与aspx.cs 关系
- 用正则表达式统计java工作行,注释行,空白行
- python进行基本的图像处理
- mysql数据库数据类型