Skip to content

Latest commit

 

History

History
7 lines (7 loc) · 646 Bytes

类型别名.md

File metadata and controls

7 lines (7 loc) · 646 Bytes

如果某个类型别名指代的是复合类型,或者常量,那么把它用到声明语句里会产生意想不到的后果。来看以下这个例子:

typedef char * pstring;
const pstring cstr = 0; // cstr是指向char的常量指针
const pstring *ps; //ps是一个指针,其对象是指向char的常量指针

因为const是对给定类型的修饰,因此const pstring意味着指向char的常量指针,而不能将pstring(基本数据类型是一个指针)直接替换成char*(基本数据类型是char,*是声明的一部分),因为这样做的后果是把cstr当成是一个指向常量char的指针