이것은 내가 궁금해 한 것입니다. 자, 여기에 함수에 변수를 선언한다고 가정 해 봅시다.이 변수를 다른 함수의 포인터로 전달한다고 가정 해보십시오. 첫 번째 함수 (변수가 선언 된 곳)가 종료되면이 변수는 어떻게됩니까? 함수가 끝나면 스택에 남아 있습니까? 아니면 함수가 제거됩니까? 미리함수에서 포인터 보내기
감사 = D
이것은 내가 궁금해 한 것입니다. 자, 여기에 함수에 변수를 선언한다고 가정 해 봅시다.이 변수를 다른 함수의 포인터로 전달한다고 가정 해보십시오. 첫 번째 함수 (변수가 선언 된 곳)가 종료되면이 변수는 어떻게됩니까? 함수가 끝나면 스택에 남아 있습니까? 아니면 함수가 제거됩니까? 미리함수에서 포인터 보내기
감사 = D
변수가 정적이라고 선언하지 않으면 변수를 정의하는 함수가 반환 할 때 변수가 파괴됩니다 (). 당신은 스택에이 변수를 선언하면 http://aelinik.free.fr/c/ch14.htm
링크를 제공해 주셔서 감사합니다. – Davey
그것이 사라지는 것 :
void foo()
{
int varInStack;
foo2(&varInStack);
// when foo returns, you loosed your variable.
}
당신이 그것을 반환 할 수 있습니다
int foo()
{
int varInStack;
foo2(&varInStack);
return varInStack;
}
그것은 저장에 따라 달라 C.가 여기에 포인터에 저장 클래스를 확인 변수에 대한 지정자. – Mahesh