#include<stdio.h>

void funcB(void)
{
int b = 20;
printf("b-address: %ld\n", (long)&b);
}

void funcA(void)
{
int a = 10;
printf("a-address: %ld\n", (long)&a);
funcB();
}

int main(void)
{
funcA();
return 0;
}

(1)変数aとbはメモリ内の特に何という領域に確保されますか。
(2)変数aとbはどちらのほうがより小さい番地にメモリが確保されましたか。
(3)(2)から(1)の領域は前と後ろのどちらの方向へ向かって利用されていくと推測できますか。

スッキリ分かるCの問題なのですが
これの(3)が意味分からないので解説してほしいです
(2)も何でそうなるのかよく分からんですが、。