본문 바로가기

프로그래밍162

putback(), peek() puback(char type) char타입을 꺼낸다고 보면 된다. 예제로 이해 하는것이 빠를듯, #include void main() { char c[10], c2, c3; // 입력 값으로 "qw"를 입력하면, c2 = std::cin.get( );// c2에 'q' c3 = std::cin.get( );// c3에 'w'가 들어 가게 된다. std::cin.putback( c2 );// putback을 사용해서 'q'를 꺼내고 std::cin.getline( &c[0], 10 );// c에 'q'만을 삽입하게 된다. std::cout 2010. 3. 15.
cout, cin, endl 특별한 건 없고, c언어의 printf와 scanf, "\n"(개행)에 대한 변경 되었다고 보면 될듯 하다. #include void main() { int n1; std::cin >> n1; std::cout 2010. 3. 15.
단일 연결리스트(linked list) 스택, 큐에 대해서 무한의 자료를 저장하고 싶을때(메모리의 허용 범위 내)사용한다. 개념은 A,B,C,D라는 자료가 존재 할때에 Head(orTail)이 A의 주소를, A가 B의 주소를 B가 C의 주소를 C가 D의 주소를 D가 Tail(orHead)의 주소를 가르킨다고 볼 수 있다. 추가적인 AA가 생겼을때 특정-예를 들어 A뒤- 위치에 삽입 하고자 할떄 A의 주소가 B였던 것을 AA로 가르키게 하고 AA의 주소는 B를 가르키게 한다면 Head->A->AA->B->C->D->Tail 이 되는 것이다. 또는 값을 삭제 하고자 할때에는 삭제 노드는 꼬리의 다음 위치로 잡아 주고 꼬리의 다음 위치를 삭제 노드의 다음 주소 삭제노드 삭제 소스 내용이 조금 긴 관계로 main.cpp파일을 첨부합니다. 2010. 3. 12.
문자열 함수들 str___ 소스참조 #include #include #include void main() { char ch1[20] = "TEST123"; char ch2[20] = "TEST13"; // strcmp(인자1, 인자2);문자열 비교 함수 // 동일하다면 0 리턴, 좌측인자가 작으면 -1 크다면 1 리턴 printf( "strcmp : %d\n", strcmp(ch1,ch2) );// -1 값 나옴 문자의 갯수보다 단계별로 높은 것을 찾으면 리턴 // strcpy(인자1, 인자2);문자열 복사(덮어쓰기) 함수 // 우측인자의 문자열을 좌측인자로 삽입 strcpy(ch2, ch1); printf( "strcpy : %s\n", ch2 );// TEST123 출력 // strcat(인자1, 인자2)문자열 복사(붙혀쓰기).. 2010. 3. 11.
enum 열거형 상수 라고하는 enum에 대해서 알아 보자. enum season { summer=10, winter}; typedef enum Temp { A, B, C, D } T; 처럼 선언하고 T number; printf( "%d\n", summer ); 다음과 같은 형식으로 사용한다. 기본적으로 초기값 선언을 안해주면 0부터 1씩 증가 선언을 해주면 그 이후부터 1씩 증가 한다. winter = 11 A = 0 D = 3 이라고 보면 된다. 2010. 3. 11.
전처리기(4) 조건부 컴파일 지시자에 대해서 알아 보자. #ifdef - #endif #include #define MAX 10 void main() { #ifdef MAX // MAX가 지정이 되어 있기 때문에 실행한다. printf( "%d\n", MAX ); #endif } 실행 결과 = 10 #ifndef - #endif #include void main() { #ifndef MAX // MAX가 지정이 되어 있지 않기 때문에 실행한다. printf( "%d\n", 10 ); #endif } 주로 ifndef는 한번만 실행하기 위해서(특히 헤더파일 추가에 대해서) 많이 사용하게 되는데. 사용은 다음과 같이 하면 된다. #ifndef _TEST_H_ #define _TEST_H_ // 이제부터는 아무리 많이 헤더.. 2010. 3. 10.