본문 바로가기

Programming30

[펌]변수의 선언과 할당 모든 자료형(변수)의 선언 구조는 (기억클래스) -> (형수식자) -> (자료형) -> (변수리스트;) 의 순서로 이루어집니다. auto(기억클래스) volatile(성질 형수식자) int(integer 자료형) A(변수명) 이지요. 그런데 이렇게 복잡하게 안쓰고 int A; 라고 해도 가능한 이유는 기억클래스나 형수식자는 생략이 가능하기 때문입니다. “생략 가능한데 뭐하라 만들었냐~” 라고 생각하시는 분을 위하여 뒷부분에 자세하게 설명드리겠으며 이게 이 글의 핵심~! 입니다. 여기쯤 읽다가 “시방 지금 뭔 말이여~! (ㅡㅡ+)” 하며 창을 닫으시려는 분이 있을까봐. 이쯤에서 우선 (기억클래스), (형수식자)에 대하여 간략하게 설명을 드리겠습니다. 기억 클래스 : static, auto, extern, .. 2008. 7. 11.
[펌]about String, StringBuilder, StringBuffer 원문 : http://blog.naver.com/windziel?Redirect=Log&logNo=60048694876 자바에서 스트링을 연결하여 사용할때 String str = "aaa" + "bbb" + "ccc"; 의 형태로 사용하면 안된다고 알고 있었다. String은 불변(Immutable) 객체이기 때문에 '+'를 이용하여 문자열을 연결하게 되면 각 ""안의 String를 생성하고 이후 블록이 끝난후 GC의 대상이 되기 때문이다. 그래서 String을 연결할 때는 StringBuffer, StringBuilder 객체를 생성하고 append 메소드를 사용하여 연결한 후 StringBuffer, StringBuilder의 toString() 메소드로 스트링을 생성한 후 사용하여야 한다고 알고 있.. 2008. 6. 2.
_t 에 적응해볼까.. -_- #include #include #include #include #include #defineSTR_LEN256 #define CMD_TOKEN_NUM10 TCHAR ERROR_CMD[] = _T("'%s'은(는) 실행할 수 있는 프로그램이 아닙니다. \n"); int CmdProcessing(void); TCHAR* StrLower(TCHAR*); int _tmain(int argc, _TCHAR* argv[]) { _tsetlocale(LC_ALL, _T("Korean")); DWORD isExit; while(1) { isExit = CmdProcessing(); if (isExit == TRUE) { _fputts(_T("명령어 처리를 종료합니다. \n"), stdout); break; } } r.. 2008. 5. 23.
정적 라이브러리 만들고 써먹기(on Linux) 다음과 같은 binary search를 하는 함수가 있다고 하자. // binary_search.c int* binary_search(int* arr, int nElem, int value) { int left = 0, right = nElem - 1; int mid; while (left *(arr + mid)) left = mid + 1; else if (value < *(arr + mid)) right = mid - 1; else return arr + mid; } return (int*)0; } 위의 함수를 라이브러리로 만들어서 아래의 파일에서 링킹을 시켜서 써먹어보자. // test.c #include extern int* binary_search(int*, int, int); int main(.. 2008. 3. 14.