2011-03-19 2 views
0

가능한 중복 :시스템에서 스택이 위아래로 커지면 어떻게 알 수 있습니까?

안녕하세요
stack growth direction
Does stack grow upward or downward?

,

기계의 스택이 더 중요한 C. 메모리에 위 또는 아래로 커질 경우 내가 알아 얼마나

스택이 커지거나 스택이 커지는 시스템이 더 좋습니다.

그러면 로직이 작동합니까 ???

void sub(int *a) 
{ 
int b; 

if (&b > a) { 
printf("Stack grows up."); 
} 
else 
{ 
printf("Stack grows down."); 
} 
} 
main() 
{ 
int a; 
sub(&a); 
} 

나는이 표현이 C에서 유효 의미

if (&b > a) 
+0

"어느 쪽이 더 낫다"는게 무슨 뜻이야? 노란색 사과가 "더 좋습니까"또는 빨간색 사과입니까? – Mehrdad

+1

가능한 중복 : http://stackoverflow.com/questions/3572610/stack-growth-direction –

+0

@Mehrdad 더 나은 방법은 내가 알고 스택에 오버플로 종류의 문제를 던져 스택을 던져 때 같은 스택 알고 간다 아래로 몇 가지 한계를 넘어 .. –

답변

6

가 처음에 존재에 스택도 가지고 있지 않으며, 그들이 할 때, 그들은 작동하지 않습니다 당신이 기대하는대로. 예를 들어, 동적으로 생성하거나 메모리에서 바로 이동할 수 있습니다. 이식성이 없기 때문에 당신의 질문은 정말로 순수한 "C"질문이 아닙니다. 그러나

, 성장 또는 아래로 성장 중 스택 가정 , 당신은 단지 발신자 함수 내에서, 또한 피 호출자 내부 변수의 주소를 복용하고, 더 큰 어느보고 확인하여이를 확인할 수있다; 그것은 간단합니다.

관련 문제