글 수 3,386
문뜩 책에나온 요 표현을 보고...
element delete(int *top)
{
....
return stack[(*top)--];
}
요게 stack의 최상위 인자를 넘겨주는 역할을 하는것인데,
(*top)-- -> 이 표현이 걸림..
*top의 위치에있는 것을 return해야하는 것인데...
*top아래있는 것을 return하는 표현인걸로 생각되서...
이상해서 확인해본결과 *top을 return한 후에, 감소연산을 하더라는...
아마 우선순위때문에 그런게 아닐지..하여간 새삼 신기했습니다.
설마 함수가 return한 후에 감소연산이 일어난건 아닌지..
아니면 우선순위 때문인가?
걍 심심해서...-_-;;
element delete(int *top)
{
....
return stack[(*top)--];
}
요게 stack의 최상위 인자를 넘겨주는 역할을 하는것인데,
(*top)-- -> 이 표현이 걸림..
*top의 위치에있는 것을 return해야하는 것인데...
*top아래있는 것을 return하는 표현인걸로 생각되서...
이상해서 확인해본결과 *top을 return한 후에, 감소연산을 하더라는...
아마 우선순위때문에 그런게 아닐지..하여간 새삼 신기했습니다.
설마 함수가 return한 후에 감소연산이 일어난건 아닌지..
아니면 우선순위 때문인가?
걍 심심해서...-_-;;
본 게시물은 2011.01.04일 복구된 게시물 입니다. 첨부파일 및 이미지파일은 복구 되지 않았습니다. [자세한 내용 보기]
2003.08.07 00:00:00 (*.82.71.166)
++a , a++ , --a , a++ 연산자가 앞에 붙으면 증감연산이 먼저 되고 그 행에 적용이 되고 연산자가 뒤에 붙으면 변수 값이 먼저 그 행을 실행하는데 적용되고 나중에 증감연산이 이루어진다
2003.08.08 00:00:00 (*.152.220.199)
그럼 순서적으로..stack[*top]를 return한다..
그다음에 (*top)-- 가 되는건가요? 함수가 return한다음에 일어난다는게 좀 걸려요..-_-a
그다음에 (*top)-- 가 되는건가요? 함수가 return한다음에 일어난다는게 좀 걸려요..-_-a



