typedef通常被用于以下三种目的:
<1>为了隐藏特定类型的实现,强调使用类型的目的。
<2>简化复杂的类型定义,使其更易理解。
<3>允许一个类型用于多种目的,同时使得每次使用该类型的目的明确。
【2】关于typedef使用应该注意哪些问题?
(1)typedef使用举例。示例代码如下:
#include<iostream>
using namespace std;
void main()
{
typedef char* charPtr;
charPtr ch, ch1; //char *ch, char *ch1
char *ph1 = ch; //OK!!!!!!
char *ph2 = ch1; //Ok!!!!!!
char String[4] = "abc";
const char *p1 = String;
const charPtr p2 = String; //相当于char * const p2 (注意差别)
p1++;
*p2 = 'a';
//p2++; //error!!!!!!p2为常量
}
(2)宏替换与typedef的区别
//宏替换与typedef的区别:
#include<iostream>
using namespace std;
#define charPtr char*
void main()
{
charPtr ch,ch1; //char *ch,ch1//ch相当于指针 ch1相当于变量
char String[4] = "abc";
const char *p1 = String;
const charPtr p2 = String; //const char * p2
p1++; //const修饰*p1
p2++; //const修饰*p2
*p1='a'; //error!!!!!!!!!
}
(3)typedef使用分类
#include<iostream>
using namespace std;
typedef int* PINT; //PINT 在此代表 int *
typedef int Array[10]; //Array 在此代表类型 int []
typedef int (*pfn)(int,int); //pfn 在此代表一种函数指针类型
void main()
{
Array a,b;
pfn c,d;
}