본문 바로가기
반응형

전체 글147

c/c++ 문자열 문자열 : 문자 배열이라는 의미로 여러 문자를 연속해서 저장한 배열을 뜻한다. char 포인터에 작성하거나 std::string 클래스를 이용하여 작성한다. c style char * str1 = "Hello"; char str2[] = "world"; char * str3 = "abcde"; printf("%c\n", *(str3+3)); printf("%c\n", str3[2]); 문자열 끝에 항상 null 문자가 붙는다. (\0) 배열처럼 인덱스 접근이 가능하다. 포인터 연산으로도 접근 가능하다. 문자열을 자르고 붙이고 비교하는 함수들은 string.h 파일에 구현되어 있다. C Library - - Tutorialspoint C Library - Advertisements The string.h .. 2020. 1. 14.
List - Double 싱글 리스트의 발전형으로 노드의 앞뒤 양쪽으로 모두 연결되어 접근을 더 용이하게 만든 리스트. 포인터가 하나 더 추가된 만큼 메모리가 더 소모됨. 내가 작성한 코드 https://github.com/kalsbold/TaengTaro_STL/blob/master/TaengTaro_STL/TT_DList.h 2020. 1. 14.
c/c++ 템플릿 템플릿(template)이란 함수 오버로딩 같이 자료형에 따라 같은 코드를 여러번 작성해야하던 번거로움을 임의의 자료형으로 대체하여 한번만 작성해도 되도록 만들어주는 기법. 함수 템플릿 : 함수의 기능은 명확하게. 입출력은 모호하게. template T sum(T a, T b) { return a+b; } 여기에서 첫줄은 템플릿 자료형을 정의 하는 부분이고, 나머지가 템플릿 함수이다. 입력되는 자료형. 반환형 모두 템플릿 자료형을 사용하여 어떤 자료형이 들어오더라도 처리할 수 있게 한 것. 템플릿을 여러개 써도 된다. template void printAll(T1 a, T2 b) { cout 2020. 1. 13.
List - Single 선형 구조 : 데이터가 직선 모양으로 저장된 구조. 비선형 구조 : 데이터가 여러 갈래로 이어저 저장된 구조. 리스트 : 선형 자료 구조의 대표. 삽입, 삭제, 검색 등의 기본 연산을 통해 자료를 다룸. 배열리스트, 링크드 리스트 노드 : 자료구조에서 사용하는 기본 단위 명칭. 기본 자료형, 구조체, 클래스 등 다양한 변수를 사용 할 수 있다. 배열 리스트 : 배열로 구현한 리스트. 링크드 리스트 : 리스트 각 노드가 연결 되어 있는 리스트. 싱글, 더블 링크드 리스트가 있다. 싱글 링크드 리스트 : 리스트 노드를 앞 -> 뒤로 한 방향으로 연결한 리스트. 더블 링크드 리스트 : 리스트 노드를 앞 -> 뒤, 뒤 -> 앞 양방향으로 연결한 리스트. 내가 작성한 코드 https://github.com/kal.. 2020. 1. 13.
c/c++ enum, preprocesser 열거형 : 정수형 상수들을 알아보기 쉬운 별칭으로 명명해 묶어두는 방식. 각 요소들은 순서대로 1씩 증가하는 값을 가지게 됨. 초기값 : 일반 변수의 값 초기화 처럼 사용하는 값. 이 값을 기준으로 다음 열거형 값부터 1씩 증가되는 값을 가짐. enum DayOfWeek { // 열거형 정의 Sunday = 0, // 초깃값 할당 Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }; /* typedef enum _DayOfWeek { // 열거형 이름은 _DayOfWeek Sunday = 0, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday } DayOfWeek; // typedef를 사용하여 열거형 별칭.. 2020. 1. 6.
c/c++ const 예약어 const 예약어는 변수, 포인터, 멤버함수, 객체를 상수화 시키는 예약어 이다. 상수란 변경할수 없는 고유한 값을 뜻하며. const 상수와 #define 상수가 있다. 변수, 객체는 각각 자료형의 앞에 const 예약어를 붙인다. 멤버 함수의 경우 함수명 뒤에 붙인다. 이렇게 되면 전부 상수화 되어 변수는 값을, 멤버함수는 함수 내부에서 멤버변수를 변경할수 없게, 객체는 멤버 변수를 다른 데이터로 변경할수 없게 한다. 포인터의 경우는 두가지로 나뉘는데 //상수를 가리키는 포인터. const int * cp; //포인터 변수에 저장된 주소가 상수화 되는 포인터. int * cosnt pc; //완전 상수. 포인터든 값이든 절대 변경불가. const int * const cpc; 첫번째 경우는 이미 정의.. 2020. 1. 6.
반응형