游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1747|回复: 7

请教关于typedef

[复制链接]

4

主题

16

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2004-10-7 12:16:00 | 显示全部楼层 |阅读模式
typedef  char  *cstring;
extern  const  cstring  
cstr;


我认为它声名了的是: const  char  *cstr;

可是看一本书上说它被声名为了 char*  const  cstr;

请知道的给偶解释一下.谢谢

33

主题

669

帖子

669

积分

高级会员

Rank: 4

积分
669
QQ
发表于 2004-10-7 12:52:00 | 显示全部楼层

Re:请教关于typedef

typedef    char*   cstring ;
typedef    char    *cstring;
const cstring  cstr;
变成这样
const  char*  cstr;
const  *char  cstr;
第二个const先修饰* ,所以是指针本身为常量 ,是不是这样 ?
(我手上没有编译器,自己想的)

4

主题

16

帖子

18

积分

新手上路

Rank: 1

积分
18
 楼主| 发表于 2004-10-7 13:36:00 | 显示全部楼层

Re: 请教关于typedef

感觉是这样.我试试先

4

主题

16

帖子

18

积分

新手上路

Rank: 1

积分
18
 楼主| 发表于 2004-10-7 16:50:00 | 显示全部楼层

Re:请教关于typedef

typedef   int*   i_int;
typedef   int    *i_int;

以上我在VC++ 6.0中测试.发现两个都是 int   *const  i_int 型
都是不能改变指针,初始化后就不能在改变
而对*i_int可以更改.

请问,是不是因编译器不同,而不同啊




33

主题

669

帖子

669

积分

高级会员

Rank: 4

积分
669
QQ
发表于 2004-10-7 17:43:00 | 显示全部楼层

Re:请教关于typedef

刚才打StarCraft了,我好象再什么地方见过这样的说明,我给你查一下吧

33

主题

669

帖子

669

积分

高级会员

Rank: 4

积分
669
QQ
发表于 2004-10-7 18:22:00 | 显示全部楼层

Re:请教关于typedef

刚才打StarCraft了,我好象再什么地方见过这样的说明,我给你查一下吧

4

主题

16

帖子

18

积分

新手上路

Rank: 1

积分
18
 楼主| 发表于 2004-10-7 21:05:00 | 显示全部楼层

Re:请教关于typedef

3Q

3

主题

186

帖子

190

积分

注册会员

Rank: 2

积分
190
发表于 2004-10-8 13:53:00 | 显示全部楼层

Re:请教关于typedef

C++ Primer中文版上如此讲:
下面是一个几乎所有人刚开始时都会答错的问题错误在于将typedef 当作宏扩展。已知下面的typedef:
    typedef char *cstring;
在以下声明中cstr 的类型是什么?
    extern const cstring cstr;
第一个回答差不多都是
    const char *cstr;
即指向const 字符的指针。但是,这是不正确的。const修饰cstr 的类型。cstr 是一个指针,因此,这个定义声明了cstr 是一个指向字符的const指针(见3.5 节关于const 指针类型的讨论)
    char *const cstr;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-22 16:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表