C语言的内存布局|课后作业6指针扩展问题
C语言的内存布局的课后作业6是:#include <stdio.h>
int main(void)
{
char a = 0, b = 0;
int *p = (int *)&b;
*p = 258;
printf("%d %d\n", a, b);
return 0;
}
答案是:见附件图片
a,b变量是保存在 栈区的,栈区变量地址是往下扩展的,请问指针P扩展之后的地址,在栈区是向下扩展还是向上扩展 ?也就是说指针P扩展的地址是高地址还是低地址 ?
p=(int*)&a
char *c=(char*)p;//
&c<&c<&c<&c
所以我认为应该是向高地址扩展
页:
[1]