【发布时间】:2021-12-16 12:10:07
【问题描述】:
为什么*用来声明指针?
它删除了间接,但是当你声明像int *a = &b这样的指针时不会删除任何东西,它不应该删除&b的间接吗?
【问题讨论】:
-
该字符
*在表达式和声明中的含义完全不同。在表达式中,它是一个取消引用运算符。在声明中,它更像是一个 this-is-a-pointer 修饰符。 -
在声明中,它根本不是运算符。
-
你有没有想过为什么
42 * 4中没有去除间接性? -
你已经接近了,但你并不完全按照预期的方式阅读 C 声明:
int *a;=>int,*a=> 表达式*a产生 @987654330 @。 C 中的声明旨在模拟这样的使用。
标签: c++ c pointers syntax declaration