#include<stdio.h>
int main(){
int x=5;
char A_one[8], A_two[8];
}
我认为 x 将位于更高的地址,然后是 A_two 和 A_one(递减(。
这没有定义,所以一般无法回答。
对于任何特定情况,您都可以通过打印地址轻松尝试:
printf("x is at %p, A_two at %p and A_one at %pn", (void *) &x,
(void *) &A_two, (void *) &A_one);
请注意,例如,C 标准不要求将这些变量放在堆栈上。