반응형 기술자료229 [賢彬] [무료제공 기술서적] Inside C#pdf 와 Source File (마이크로소프트 무료 배포판) 출처 : 한국 마이크로 소프트 Inside C#이라는 책을 마이크로 소프트에서 무료 배포하고 있더군요 우연한 기회에 받게 되었는데 C#을 혹시 따로 공부하시는 분이 있으면 도움이 될 것 같습니다. '공짜' 라는 점이 중요한 것입니다. 분할 압축 받기 싫으신 분은 위에 링크 타고 받으러 가시면 됩니다. (티스토리는 10메가 씩 올려야 하는군.. -_-;;) 2009. 8. 12. [賢彬] C Pointer and Arrays [다시한번 기초를 보자는 의미에서 올려봄] 포인터와 배열(Pointer and Arrays)에 대해서 알아봅시다. 1. 포인터의 기초 ▣ 포인터와 번지 일반적으로 변수에 대입되는 자료는 메모리(주기억장치)에 저장된다. 컴퓨터 에서 메모리에 저장된 자료를 참조하기 위해서는 반드시 자로가 저장된 위치 를 표시하는 번지(또는 주소, address)를 지정하여 참조한다. 즉, 컴퓨터 내 부에서는 메모리에 저장된 자료를 참조하기 전에 자료가 저장된 번지를 먼저 지정해야 한다. 메모리 │ : │ ├──────┤ 1000번지│ 97 │ ├──────┤ 1001번지│ 127 │ ├──────┤ 1002번지│ 82 │ ├──────┤ │ : │ 위 그림의 메모리에서 자료 97값을 참조하기 위해서는 메모리의 번지 1000.. 2009. 8. 12. [오락실]cout 으로 양식화된 출력 사용하기 cout 2009. 8. 12. [클란심] 허프만 알고리즘 저번에 쓴 글에 이어서 두번째 역시나 다음 글은 언제 쓸지 모르겠음 =============================================================================================== 오늘은 무손실 압축의 대표적인 알고리즘인 허프만 알고리즘에 대해서 알아보겠습니다. 허프만 부호화, 허프만 압축, 허프만 알고리즘등으로 불리우는 이 알고리즘은 문자들의 빈도수에 따라 서로 다른 길이의 부호를 부여하여 압축하는 방식으로, 1952년 당시 박사과정 학생이던 데이비드 허프만이 A Method for the Construction of Minimum-Redundancy Codes란 제목의 논문으로 처음 발표했습니다. 허프만 알고리즘은 JPEG이나 MPEG 같은 .. 2009. 8. 12. C/C++Pre-processor(전처리기)이 대해 ... 컴파일을 시도할 경우 컴파일이 실행되기 전에 전처리기 명령부터 처리된다. 전처리기는 # 로 시작하고 ; 를 붙이지 않으며 보이지 않게 소스 코드를 변경하며 컴파일러에게 지시를 내릴 수도 있다. 각각은 여기서는 명령어라는 용어를 사용했지만 정확하게는 directive(지시자) 라고 하는 것이 나을 지 모르겠다. #include 가장 흔히 볼 수 있는 전처리기이다. 해당 파일을 찾아서 컴파일러가 그 파일이 마치 현재 컴파일하는 소스 코드에 포함되어 있는 것같이 해준다. 는 표준 헤더 파일일 경우에 설정되어 있는 폴더에서 헤더 파일을 찾으며 “ ” 는 그 외 폴더에서 찾을 수 있는데 최우선으로 현재 프로젝트 폴더에서 찾게 된다. #define define 문은 여러 경우에 사용될 수 있는데 일반적으로 문자열 .. 2009. 8. 11. const에 애하여............ const 키워드로 선언된 변수 const int num = 1234; int const num = 1234; const 키워드는 해당 변수가 상수임을 의미한다 . 위의 모양 처럼 선언해 놓고 어디선가 num = 0 과 같은 식으로 num 값을 변경시키려고 하면 컴파일러는 왜 상수를 건드리냐면서 에러를 내 뿜을 것이다. C 에서는 const 말고도 전처리기 매크로 #define 을 사용하여 상수를 정의할 수도 있지만 다음과 같은 문제가 발생 할 수 있으며 이러한 버그는 쉽게 발견하기가 힘들기 때문데 const를 권장 한다 // #define으로 정의된 상수의 문제점 #define num 1 + 2 void fnc( void ) { printf( "%d", num * num ); } // 상수 배열 con.. 2009. 8. 11. VISUAL C/C++ PROJECT SETTING 1. Preprocessor Definition 소스를 컴파일 함에 있어 전처리기 정의를 통해 컴파일 방법 또는 대상 등을 제어하는 목적으로 사용됩니다. Preprocessor definition에 정의되는 기호는 소스에서 #define 전처리기를 사용하는 것과 동일한 효과를 갖습니다. 프로젝트 생성 시 정의되는 preprocessor definitions WIN32 컴파일 환경이 Win32 서브시스템임을 의미합니다. _DEBUG Debug 빌드셋임을 의미합니다. 소스 상에서 Debug를 위한 정보 출력 등의 처리에 사용합니다. NDEBUG Debug 빌드셋이 아님을 뜻합니다. Release 빌드셋을 뜻하는 것과 동일할 수 있습니다. _MBCS Multi Byte Character Set 으로 컴파일 됨.. 2009. 8. 11. [賢彬] _STDC_, _P() 의 의미. 출처 : http://happyziv.tistory.com/109 Q 어떤 코드를 보면 함수의 프로토타입을 선언할 때 __P() 매크로를 사 용하는 경우가 있는데요, 이것의 의미는 무엇인가요? A 커널 소스의 아주 일부분에서는 함수를 선언할 때void zfree __P((void *, void *ptr)); 처럼 인자를 __P() 매크로에 넣어둔 것을 볼 수 있습니다. 이 __P() 매크 로의 정의를 살펴보면 include/linux/ppp_defs.h에서 #ifndef __P #ifdef __STDC__ #define __P(x) x #else #define __P(x) () #endif #endif 이 정의에서 __STDC__는 standard C 즉 ANSI C를 말합니다. 컴파일러가 ANSI C로.. 2009. 8. 11. [賢彬] C++ 에서 멤버 함수포인터 사용하기 출처 : 조인시 위키 아마도 여러분은 함수포인터를 사용해봤을 것이다. C에서 제공하는 qsort(3)와 같은 함수도 함수포인터를 사용한다. 다음은 qsort(3)을 이용해서 정렬하는 간단한 프로그램이다. #include #include #include int compare(const int *one, const int *two) { if (*one > *two) return -1; else return 1; } int a[3] = { 50, 10, 20 }; int main() { qsort(a, 3, sizeof(a[0]), compare); print("%d\n", a[0]); return 0; } qsort 함수는 인자로, 비교에 사용할 함수의 포인터를 받고 있음을 알 수 있다. 만약 함수포인터를 .. 2009. 8. 10. 이전 1 ··· 20 21 22 23 24 25 26 다음 728x90 반응형