공간 복잡도 : 메모리 시간 복잡도 : 알고리즘 시간 오메가 표기법 : 불규칙한 시간 중 가장 최선의 시간으로 확인 빅O 표기법 : 불규칙한 시간 중 가장 최악의 시간으로 확인 세타 표기법 : 가장 최선과 최악의 평균 시간으로 확인


문자열

주로 사용하는 문자열 함수

char szName[32] = "hello";
char szTemp[32] = "world";

문자열 복사 함수

strcpy_s(); 문자열 복사 함수

strcpy_s(복사 받을 공간의 주소, 복사 받을 공간의 크기, 복사할 문자열 주소);
strcpy_s(szName, sizeof(szName), "wo");

wo로 초기화됨. 단, 복사할 문자열이 받을 공간보다 크면 안됨

문자열 결합 함수

strcat_s(); 문자열 결합 함수
strcat_s(결합된 결과를 공간의 주소,결합된 문자열 공간의 크기, 결합시킬 문자열);

strcat_s(szName, sizeof(szName), szTemp)

helloworld 출력 경로 편집을 진행할 때 많이 사용

문자열 길이 함수

strlen(); 문자열 길이 함수(널문자 제외)
strlen(길이를 구하고 싶은 문자열의 주소);

반환 타입은 size_t;

문자열 비교 함수

int strcmp();문자열 비교 함수 (두문자열이 일치하는지 판단하는 함수)
int strcmp(비교할 문자열1, 비교할 문자열2);

참이면 0 / 거짓이면 1 (c언어 시절의 잔재)


#include <string>
string strName = "hello";
strName.length();
strName == hello

STL임. 간편하게 이용할 수 있음


string과 문자열을 동시에 사용했을 때.

char szName[32] = "hello"
string strDst = "";
strDst = szName; //가능 : operator연산자
szName = strDst; //불가능

strcpy_s(szName, sizeof(szName), strDst); //불가능 
strcpy_s(szName, sizeof(szName), strDst.c_str()); //가능 : 자료 타입 일치

string

#include <string> - stl에서 제공하는 문자열 기반 클래스 템플릿 헤더파일을 포함해야 사용 가능함.(아래와 헷갈리지 않도록)

#include <string.h> - c언어 시절에 있던 헤더. #include <cstring> - mfc에서 제공하는 문자열 클래스 헤더파일

캐릭터(char)와의 차이점.

char szName[32] = "hello";
char szTemp[32] ={};
szTemp = szName; //X

되지 않음. 주소에 주소를 대입하는 형태(배열의 첫 대표주소니까)

  1. 크기 결정이 필요하지 않음.
  2. 대입 연산이 가능함.
  3. 연산자 사용이 가능함.(==, +, +=) operator 오버로딩.
  4. 멤버함수를 호출할 수 있음.
  5. char형과 string은 혼합 사용이 가능함.(그러나 char에 string은 안됨.)
  6. 다만 위 5번이 가능하기 위한 c_str() 등이 있음