我正在尝试解决 C 练习问题:
假设将 fubar 定义为数组,则以下指针表达式的等效 C 数组表达式是什么。每个数组元素是什么类型或定义了多少个元素并不重要。
*fubar
相当于 _____(使用 []
的等效数组表达式,但没有 *
)
我最初的答案是fubar[0]
,但我真的不知道。
最佳答案
*fubar
只是取消引用 fubar
。
fubar[0]
相当于 *(fubar + 0)
。原因是 fubar
指向数组的开头,因此如果在 fubar
之后跳转 N
个位置,就会到达 >N 个
元素,即 fubar[k]
。
所以,是的,*fubar
相当于 fubar[0]
。即,fubar = &(fubar[0])
关于C 数组表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26737039/