关于typedef

hywxn1 2014-05-03 02:05:09
今天看typedef时,有这样一个例子:
double i = 2.1;
typedef double wages;
typedef wages base,*p;
p=&i;
我自己写的,在最后一行p=&i,提示应输入标识符,是什么意思,第二行是说wages是double的别名,第三行该怎么理解啊
...全文
126 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hywxn1 2014-05-03
  • 打赏
  • 举报
回复
引用 7 楼 mujiok2003 的回复:
[quote=引用 6 楼 u014514014 的回复:] [quote=引用 5 楼 mujiok2003 的回复:] [quote=引用 4 楼 u014514014 的回复:] [quote=引用 3 楼 mujiok2003 的回复:]
typedef wages base,*p;
可以看成两个申明语句
typedef wages base; // base其实就是double
typedef wages* p;  //p其实就是double*
多谢,说的很清楚,我看书上还有这个用法 typedef bool Func(const string &,const string &); Func是函数类型,这个定义又该怎么理解啊[/quote] 函数比较特殊。 不能定义函数类型的变量
Func f;
, 但是可以用于定义函数指针。
]Func* pf
因此,很多人直接定义函数地址类型,而不是函数类型。
]typedef bool (*pFunc)(const string &,const string &);
fFunc pf;
[/quote] 不太明白, ]typedef bool (*pFunc)(const string &,const string &); 那么哪个是哪个的别名啊,函数指针我知道[/quote] 前面的]是误打的。 pFunc和 bool (*)(const string &,const string &)是同一个东西。 [/quote] 懂了,thanks
乐百川 2014-05-03
  • 打赏
  • 举报
回复
同求这个问题,typedef貌似有很多精巧的用法……
mujiok2003 2014-05-03
  • 打赏
  • 举报
回复
引用 6 楼 u014514014 的回复:
[quote=引用 5 楼 mujiok2003 的回复:] [quote=引用 4 楼 u014514014 的回复:] [quote=引用 3 楼 mujiok2003 的回复:]
typedef wages base,*p;
可以看成两个申明语句
typedef wages base; // base其实就是double
typedef wages* p;  //p其实就是double*
多谢,说的很清楚,我看书上还有这个用法 typedef bool Func(const string &,const string &); Func是函数类型,这个定义又该怎么理解啊[/quote] 函数比较特殊。 不能定义函数类型的变量
Func f;
, 但是可以用于定义函数指针。
]Func* pf
因此,很多人直接定义函数地址类型,而不是函数类型。
]typedef bool (*pFunc)(const string &,const string &);
fFunc pf;
[/quote] 不太明白, ]typedef bool (*pFunc)(const string &,const string &); 那么哪个是哪个的别名啊,函数指针我知道[/quote] 前面的]是误打的。 pFunc和 bool (*)(const string &,const string &)是同一个东西。
hywxn1 2014-05-03
  • 打赏
  • 举报
回复
引用 5 楼 mujiok2003 的回复:
[quote=引用 4 楼 u014514014 的回复:] [quote=引用 3 楼 mujiok2003 的回复:]
typedef wages base,*p;
可以看成两个申明语句
typedef wages base; // base其实就是double
typedef wages* p;  //p其实就是double*
多谢,说的很清楚,我看书上还有这个用法 typedef bool Func(const string &,const string &); Func是函数类型,这个定义又该怎么理解啊[/quote] 函数比较特殊。 不能定义函数类型的变量
Func f;
, 但是可以用于定义函数指针。
]Func* pf
因此,很多人直接定义函数地址类型,而不是函数类型。
]typedef bool (*pFunc)(const string &,const string &);
fFunc pf;
[/quote] 不太明白, ]typedef bool (*pFunc)(const string &,const string &); 那么哪个是哪个的别名啊,函数指针我知道
mujiok2003 2014-05-03
  • 打赏
  • 举报
回复
引用 4 楼 u014514014 的回复:
[quote=引用 3 楼 mujiok2003 的回复:]
typedef wages base,*p;
可以看成两个申明语句
typedef wages base; // base其实就是double
typedef wages* p;  //p其实就是double*
多谢,说的很清楚,我看书上还有这个用法 typedef bool Func(const string &,const string &); Func是函数类型,这个定义又该怎么理解啊[/quote] 函数比较特殊。 不能定义函数类型的变量
Func f;
, 但是可以用于定义函数指针。
]Func* pf
因此,很多人直接定义函数地址类型,而不是函数类型。
]typedef bool (*pFunc)(const string &,const string &);
fFunc pf;
hywxn1 2014-05-03
  • 打赏
  • 举报
回复
引用 3 楼 mujiok2003 的回复:
typedef wages base,*p;
可以看成两个申明语句
typedef wages base; // base其实就是double
typedef wages* p;  //p其实就是double*
多谢,说的很清楚,我看书上还有这个用法 typedef bool Func(const string &,const string &); Func是函数类型,这个定义又该怎么理解啊
mujiok2003 2014-05-03
  • 打赏
  • 举报
回复
typedef wages base,*p;
可以看成两个申明语句
typedef wages base; // base其实就是double
typedef wages* p;  //p其实就是double*
hywxn1 2014-05-03
  • 打赏
  • 举报
回复
引用 1 楼 dabing16888 的回复:
p是类型 不是变量 p是double指针类型
具体点呢,逗号是什么意思,第三行到底哪个是哪个的别名啊

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧