【发布时间】:2013-05-09 13:04:34
【问题描述】:
在另一个关于 SO 的问题中部分提到了这件事,但有些随意,因为它不是主要问题。由于我的困惑仍然存在,我将其放在一个单独的问题中。
为什么以下两个语句等效于int* const p=&num 而不是const int* p=&num,而后者看起来更合乎逻辑和直观? typedef这种行为的严格原因是什么?
typedef int* PTR;
const PTR p=#
最后,在那个问题中,一位成员评论说使用typedefed 指针是不好的做法。但是我已经看到它在许多书籍和网站中被广泛使用,这似乎是一件很方便的事情。它使代码更易于理解。那么它的最后一句话是什么?是否应该尽可能避免使用typedefed 指针?
编辑:如果我们打算如下,那么typedef 语句的正确语法是什么:
const int* const p=#
编辑:我无意中忘了问一件重要的事情。那么下面使用typedef 语句的正确语法是什么?
const int* p=# //instead of the int* const p=&num that we got
【问题讨论】:
标签: c pointers constants typedef