안녕하세요
#define cpu_to_node(cpu) ((void)(cpu),0)
#define cpu_to_mem(cpu) ((void)(cpu),0)
위의 macro를 사용한 곳을 보면 다음과 같습니다.
node = cpu_to_node(cpu);
cpu가 1일경우 macro를 풀어서 쓰면
node = ((void)(1), 0);
위와 같습니다. 일단 항상 node가 0이 되긴 하는데요 위의 문법(?) 도저히 이해가 안갑니다.
즉, node = ((void)(1), 0); 이 결국 node = 0 인데 이해가 안됩니다.
참고할 곳이나 이에 대해서 아시는 분이 계시면 답변을 부탁드립니다.
친절한 답변에 미리 감사드립니다.
.
https://en.wikipedia.org/wiki/Comma_operator
http://stackoverflow.com/questions/52550/what-does-the-comma-operator-do-in-c
http://crasseux.com/books/ctutorial/The-comma-operator.html
http://www.c4learn.com/c-programming/c-comma-operator/
comma operator로 검색해 보시면 될것 같습니다.