Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1136384
  • 博文数量: 646
  • 博客积分: 288
  • 博客等级: 二等列兵
  • 技术积分: 5375
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-08 14:33
个人简介

为了技术,我不会停下学习的脚步,我相信我还能走二十年。

文章分类

全部博文(646)

文章存档

2014年(8)

2013年(134)

2012年(504)

分类:

2012-09-05 14:17:59

原文地址: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)[];//指针

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