cstr 的类型是什么?
发表时间:2007-08-06 16:22:39  
楼主:qinzhonghello
typedef char *cstring;
extern const cstring cstr;
cstr 的类型是什么?
thank you!
cstr类型:
const char *cstr; //是错的
char *const cstr; //是对的
为什么?
本回复于:
2007-08-06 16:50:58 被【qinzhonghello】修改
2007-08-06 16:50:58 被【qinzhonghello】修改
typedef不是简单的替换, cstring 是一个字符指针, const cstring 的const是修饰cstring这个整体的, 所以应该是修饰指针的, 所以const cstring cstr等价于char * const cstr
2楼说的没错
非常好
呵呵
const 修饰的是变量,char是类型,所以char *const cstr对的。。const使变量的值不可变
typedef char *cstring;
extern const cstring cstr; 中的cstr 为char * const 类型。以后你只要把用typedef 定义的类型看自定数据类型就可以了。
cstr类型:
const char *cstr; //是错的
char *const cstr; //是对的
前者表示cstr是一个指向字符串常量的指针变量,不会有错。
后者表示cstr是一个指向字符串的指针常量,也不会有错,但声明时要付值,因为常量只在初始化时付值
