Chinaunix首页 | 论坛 | 博客
  • 博客访问: 59737
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-11 14:33
文章分类

全部博文(31)

文章存档

2014年(31)

我的朋友

分类: C/C++

2014-04-25 17:47:58

原文地址:const和typedef一起使用 作者:wwm

typedef char *cstring;
在以下声明中cstr 的类型是什么
extern const cstring cstr;
第一个回答差不多都是
const char *cstr

即指向const 字符的指针但是这 这是不正确的const 修饰cstr 的类型。注意typedef不是define简单的展开。typedef后,cstring是一个助记符,是一个整体,是一个类型。
应该理解为:
typedef   char*   Type; 
const   Type   data;   ==   char*   const   data; 


分析时候注意就近原则,为方便理解类型是可去掉的。
const int * p;  ----〉const *p
int * const p;  ----->* const p

比较指针数组和数组指针的声明,可同时理解运算符结合次序,来理解p到底是何物
int *p[];// 数组
int (*p)[];//指针

阅读(741) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~