使用typedef为现有类型创建别名,定义易于记忆的
类型名
1
|
typedef
int
size;
|
1
2
3
4
5
6
7
8
9
10
|
void
measure(size*psz);
size array[4];
size len=file.getlength();
std::vector<size>vs;
|
例如,你不用像下面这样重复定义有 81 个字符元素的数组:
1
2
3
|
char
line[81];
char
text[81];
|
只需这样定义,Line类型即代表了具有81个元素的
字符数组,使用方法如下:
1
2
3
4
5
|
typedef
char
Line[81];
Line text,line;
getline(text);
|
同样,可以像下面这样隐藏
指针语法:
1
|
typedef
char
* pstr;
|
1
|
int
mystrcmp(
const
pstr p1,
const
pstr p3);
|
用GNU的gcc和g++
编译器,是会出现警告的,按照顺序,‘const pstr'被解释为‘char* const‘(一个指向char的
指针常量),而事实上,const char*和char* const表达的并非同一意思,const char*的意思是创建一个指向char类型的指针且不能更改指向地址上的值,而char *const则是不能更改指向的地址;
char * const p : 定义一个指向字符的指针常数,即const指针,常量指针。
const char* p : 定义一个指向字符型常量的指针。