对于一个数组 int a[N] 进行 sizeof a 时是如何工作的?
int a[N]
sizeof a
是 sizeof 后的指针内部包含了这个数组长度的信息,还是通过向后遍历寻找某些数组结束的标记?
sizeof
为什么 sizeof a = N * sizeof int,但是 sizeof (a+1) = sizeof int 而不是 (N-1) * sizeof int ?也就是说,sizeof (a+1) 中,编译器将 a+1 当成了一个普通的指针,而不是数组开头。
sizeof a = N * sizeof int
sizeof (a+1) = sizeof int
(N-1) * sizeof int
sizeof (a+1)
a+1
sizeof 的值是编译时就确定的吗?