typedef string *pstring; const pstring cstr=0;

typedef string *pstring;
const pstring cstr=0;
const pstring *ps//解释一下,书看不明白

第一行用 类型定义符 新定义了一种类型(即指向string类型的指针),这种类型 用pstring 限定;
第二行就是用上述类型定义一个变量,且赋初值;
第三行还是用上述类型定义一个指针变量

pstring 就是string*的类型
cstr 就是一个string*的变量了