我正在研究 C 语言中的一些指针语句,了解如何迭代从A[]
开始的数组 () i = 1
。我能够理解为什么以下内容有效:
int* B = A; printf("%d\n", B[i - 1]);
但当我看到这个也有效时,我感到困惑。
int* B = (&A)[0]; printf("%d\n", B[i - 1]);
有人可以解释一下背后的逻辑(&A)[0]
吗?
我想(&A)
获取 的地址A
,比方说0x8000
,但我不确定[0]
会对地址做什么。
我正在研究 C 语言中的一些指针语句,了解如何迭代从A[]
开始的数组 () i = 1
。我能够理解为什么以下内容有效:
int* B = A; printf("%d\n", B[i - 1]);
但当我看到这个也有效时,我感到困惑。
int* B = (&A)[0]; printf("%d\n", B[i - 1]);
有人可以解释一下背后的逻辑(&A)[0]
吗?
我想(&A)
获取 的地址A
,比方说0x8000
,但我不确定[0]
会对地址做什么。