博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
typedef关键字
阅读量:7167 次
发布时间:2019-06-29

本文共 1874 字,大约阅读时间需要 6 分钟。

【1】typedef关键字有何作用?

typedef通常被用于以下三种目的:

<1> 为了隐藏特定类型的实现,强调使用类型的目的。

<2> 简化复杂的类型定义,使其更易理解。

<3> 允许一个类型用于多种目的,同时使得每次使用该类型的目的明确。

【2】关于typedef使用应该注意哪些问题?

(1)typedef使用举例。示例代码如下:

1 #include
2 using namespace std; 3 void main() 4 { 5 typedef char* charPtr; 6 charPtr ch, ch1; //char *ch, char *ch1 7 char *ph1 = ch; //OK!!!!!! 8 char *ph2 = ch1; //Ok!!!!!! 9 char String[4] = "abc";10 const char *p1 = String; 11 const charPtr p2 = String; //相当于char * const p2 (注意差别)12 p1++;13 *p2 = 'a';14 //p2++; //error!!!!!!p2为常量15 }

(2)宏替换与typedef的区别

1 //宏替换与typedef的区别: 2 #include
3 using namespace std; 4 5 #define charPtr char* 6 void main() 7 { 8 charPtr ch,ch1; //char *ch,ch1//ch相当于指针 ch1相当于变量 9 char String[4] = "abc";10 const char *p1 = String;11 const charPtr p2 = String; //const char * p2 12 p1++; //const修饰*p113 p2++; //const修饰*p214 *p1='a'; //error!!!!!!!!!15 }

(3)typedef使用分类

1 #include
2 using namespace std; 3 4 typedef int *PINT; //PINT 在此代表 int * 5 typedef int Array[10]; //Array 在此代表类型 int [] 6 typedef int (*pfn)(int,int); //pfn 在此代表一种函数指针类型 7 void main() 8 { 9 Array a,b;10 pfn c,d;11 }

 (4)typedef特殊情况

1 #include 
2 using namespace std; 3 4 typedef struct 5 { 6 int m_a; 7 int m_b; 8 } ABC, DEF, FGH; // ABC、DEF、FGH均为类型名称 9 10 void main()11 {12 cout << "sizeof(ABC) :: " << sizeof(ABC) << endl; // 813 cout << "sizeof(DEF) :: " << sizeof(DEF) << endl; // 814 cout << "sizeof(FGH) :: " << sizeof(FGH) << endl; // 815 }16 // run out:17 /*18 sizeof(ABC) :: 819 sizeof(DEF) :: 820 sizeof(FGH) :: 821 */

 (5)待续.....

 

Good Good Study,Day Day Up.

顺序 选择 循环 总结

转载地址:http://rymwm.baihongyu.com/

你可能感兴趣的文章
mysql调优
查看>>
Where can I download an offline installer of Cygwin?
查看>>
动态分区迁移中的内存拷贝技术
查看>>
售前工程师的成长---一个老员工的经验之谈(2)
查看>>
android-Activity
查看>>
hql封装dao_2
查看>>
怎么搭讪陌生妹子
查看>>
使用php的curl根据关键词爬取百度搜索结果页
查看>>
Ubuntu安装MySQL及使用Xshell连接MySQL出现的问题(2003-Can't connect to MySql server及1045错误)...
查看>>
h5学习-webstorm工具的激活
查看>>
猫猫学安卓——Android布局详解
查看>>
深入理解javascript原型和闭包(11)——执行上下文栈
查看>>
[十七]基础类型BigDecimal简介
查看>>
c# 导出附件
查看>>
使用C#开发ActiveX控件(新)
查看>>
js冒泡排序及计算其运行时间
查看>>
mysql表加锁、全表加锁、查看加锁、解锁
查看>>
Python yield 使用浅析
查看>>
python之函数
查看>>
ADO.NET
查看>>