哦,作为一个记忆管理菜鸟的乐趣!
我得到了一些Objective-C代码,虽然我理解了指针的基础知识,但我已经看到了这两种不同的结构,却无法真正理解它们的区别。
任何人都可以启发我吗?
编辑我的问题,构造的行为并没有不同,相反,我再次得到了多个声明问题。 谢谢!
答案 0 :(得分:5)
没有区别 - 这是品味问题。但是,请注意指针实际上始终绑定到名称,而不是类型。所以这个:
Type* var1, var2;
将var1
声明为Type
的指针,而var2
不是指针。这只是不在同一语句中声明多个变量的另一个原因。
历史上,Type *var
表示法在C中更常见,其中它被读作“var
被声明为指向Type
的指针”,即“{{1的类型”是} *var
“。另一方面,在C ++中,Type
更常见,读作“Type* var
被声明为”指向var
“的类型。
答案 1 :(得分:2)
完全没有区别。
但请考虑以下几行:
Type* var1, var2;
这里只有var1是指向Type的指针,但如果你写
则更容易看到Type *var1, var2;
答案 2 :(得分:0)
你确定它的行为不同吗?这对我来说似乎有点奇怪。即使我不了解Objective-c,在C中也没有区别
Type* var
Type * var
Type *var
这只是语法/偏好的问题。
除非您不是在谈论声明变量,而是访问吗?