进行struct user* bob
和struct user *bob
在语义和技术上有什么区别?
根据some sources,它被称为thing* bob
或thing** bob
,这是有道理的,因为它的类型为struct*
(或指向结构的指针)
另一方面,我们也可以执行thing *bob
或thing **bob
以示例程序为例:
struct user
{
int age;
int *p_age2;
};
int main()
{
struct user bob;
struct user* p_bob = &bob;
我不确定这是纯粹的编码风格问题还是某个地方是否存在细微差别。我很想听听为什么一个或另一个可能更有意义。另一个需要注意的重要事项是,结构标记和结构变量有时可能在它们之前没有类型,所以也许user *会更有意义。
答案 0 :(得分:3)
进行
struct user* bob
和struct user *bob
在语义和技术上有什么区别?
对于编译器,没有一个,尽管后一种语法更清楚,因为行struct user *bob, alice;
将bob声明为指向struct user
的指针,而alice则声明为struct user
。