Programming/C 언어
-
가변인자 va_list va_start va_arg va_endProgramming/C 언어 2016. 10. 28. 14:10
#include int sumArgs(int a, ...){va_list args;// 가변 인자 setint sum=0;int arg; sum += a;__crt_va_start(args, a);// 가변인자 start//va_start(args, a);for (;;){arg = __crt_va_arg(args, int);// 가변인자 get//arg = va_arg(args, int);if (0 == arg)// 가변인자가 0이면 종료 break;sum += arg;}__crt_va_end(args);// 가변인자 end//va_end(args);return sum;} int main(){int nTemp;printf("%d\n", sumArgs(1, 2, 3, 0));printf("%d\n", su..
-
[C언어] 함수퍼인터를 사용해서 자기스스로 환경을 비교Programming/C 언어 2008. 10. 30. 10:19
#include using namespace std; // ForWindows9x() 나 ForWindowsNT()를 가르킬수있는 포인터타입 정의 typedef void (*SYSTEM_FUNC)(); void ForWindows9x(); void ForWindowsNT(); bool IsWindows9x(); void ImportantFunc(SYSTEM_FUNC pfnSyst); int main() { // 함수포인터 변수 SYSTEM_FUNC pfn; // 시스템 버전에 따라서 알맞은 함수를 가리키게 만든다 if(IsWindows9x()) { pfn = &ForWindows9x; } else { pfn = &ForWindowsNT; } // 중요한 함수호출 함수주소를 넘겨준다 ImportantFun..