C返回类型问题

前端之家收集整理的这篇文章主要介绍了C返回类型问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这些之间有什么区别:

struct Class * CreateClass();

和:

Class * CreateClass();

这只是一个工厂功能声明.你可以看到一个开头有一个结构而一个没有结构.我已经尝试了两种方式,似乎没有什么区别.

我应该使用哪个?

解决方法

它来自C;在C中没有区别*.

*好的,我撒谎,对不起. :P如果你真的想要,你可以混淆自己,如果你使用一个名字相同但底层类型不同的typedef,你可能会有所不同,但通常它们并没有什么不同.这是假设已经声明了Class,但是……如果Class未声明,则第二个甚至不会编译.

也就是说,惯例是:

typedef struct Class { ... } Class;

这样它在C和C中的编译方式相同.

猜你在找的C&C++相关文章