원본 : http://www.debuglab.com/knowledge/swapmacro.html
1.요약
기존방법인 임시변수를 사용하지 않고 XOR연산을 사용하여 값을 바꾸는 방법
이 방법을 사용하면 메모리 절약(?)과 속도개선의 효과가 있습니다.
2.본문
위의 매크로를 선언하고 사용하면 됩니다.
3.예제
10 20
20 10
- 2001.08.13 Smile Seo -
1.요약
기존방법인 임시변수를 사용하지 않고 XOR연산을 사용하여 값을 바꾸는 방법
이 방법을 사용하면 메모리 절약(?)과 속도개선의 효과가 있습니다.
2.본문
#define SWAP(a,b) {(a)^=(b)^=(a)^=(b);} 위의 매크로를 선언하고 사용하면 됩니다.
3.예제
#define SWAP(a,b) {(a)^=(b)^=(a)^=(b);}
void main()
{
int a = 10;
int b = 20;
printf("a = %d, b = %d\n", a, b);
SWAP(a,b);
printf("a = %d, b = %d\n", a, b);
}
<<결과>> 10 20
20 10
- 2001.08.13 Smile Seo -
"UNIX/Linux C" 카테고리의 다른 글
- Packet Capture using libpcap (0)2007/04/06
- [PPT] C가 보이는 그림책 (0)2007/03/21
- 두 변수의 값을 바꾸는 환상의 매크로 (0)2007/02/22
- 내장 매크로를 사용한 버전 자동화 기법 (0)2006/12/27
- 리눅스 커널 코딩 스타일 (0)2006/12/27
Tags SWAP

수안이의 컴퓨터 연구실



Leave your greetings.