c언어 getc fgetc 함수 : 문자 하나를 읽어봅시다.
다음 코드를 봅시다. FOO(x)는 ((x)*(x))로 define이 된 매크로입니다. 그리고 6번째 줄에 FOO(p(0)); 이 있어요. 이것은 어떻게 대치가 될까요? 만약에 위와 같이 대치가 된다면, 어떻게 될까요? p가 2번 호출됩니다. 이것만 보면 이게 굳이 왜. 라는 생각이 드실 수도 있을 거에요. 자. 그러면 질문을 바꿔 봅시다. FOO(u = p(0))은 어떻게 대치가 될까요? 만약에, 이렇게 대치가 된다면 어떨까요? 봐도 모르겠으니, wandbox에서 돌려보겠습니다. operation on 'u' may be undefined. 라고 나옵니다. 음.. 뭔 이야기인지는 모르겠지만, u에 대한 연산이 정의되지 않는다. 정도로 해석을 하면 됩니다. 사이드 이펙트가 있다고 생각해도 무난합니다. 그..
코딩/C
2020. 2. 26. 17:37
최근댓글