C语言里.和->的区别
->
使用一个指向结构体或对象的 指针 访问其内成员
.
是 直接 通过结构体或对象来访问他们的内部成员变量
早期的C语言不支持将结构体作为参数在函数之间传递,只能用指向结构的指针在函数间进行传递
a->b
的含义是 (*a).b
,所以他们是不同的,不过的确 ->
可以用 *
和 .
实现,不需要单独一个运算符。 嗯,我这是说现代的标准化的 C 语义上来说, ->
可以用 *
和 .
的组合实现
->
使用一个指向结构体或对象的 指针 访问其内成员
.
是 直接 通过结构体或对象来访问他们的内部成员变量
早期的C语言不支持将结构体作为参数在函数之间传递,只能用指向结构的指针在函数间进行传递
a->b
的含义是 (*a).b
,所以他们是不同的,不过的确 ->
可以用 *
和 .
实现,不需要单独一个运算符。 嗯,我这是说现代的标准化的 C 语义上来说, ->
可以用 *
和 .
的组合实现