如果你我忽然问你对象前的星号应该靠左还是靠右,你能回答吗?
UIView* view;
UIView *view;
这两种写法编译都能通过。但是哪个是规范的写法呢?
要弄明白这个就得简单提提指针了。
*是运算符,可以访问保存在某个地址中的数据
举例:
int *addressOfI
addressOfI是一块内存地址的值,*addressOfI 表示取出addressOfI是这块地址中的数据。
前面的类型int告诉了编译器这个地址内存储的数据是什么类型,这里是int。
连起来看这就表示了一个int类型的变量。
在c语言允许在一行代码中声明多个变量
float* b,c
如果这么写的话,c的类型会是float,不是float *。所以*号写在前面有可能让人造成误解。
所以正确答案是写在右边。
UIView *view;
那么为什么我们没分清在写了这么久也没出什么问题呢?
因为。。。。。。
网友评论