C언어에서는 문자열을 배열처럼 사용한다
문자열 char* str = "BlockDMask" 이 문자열의 끝에는 문자열의 끝을 알려주는 '\0'문자가 포함되어 있다
malloc메모리할당
char** answer = (char**)malloc(strlen(my_string) * sizeof(int));
배열의 공간이 충분하지 않으면 오버플로우가 발생한다
strlen(str)
-문자열의 길이를 뜻한다
-헤더파일: <string.h> (*프로그래머스에선 헤더안써줘도 통과하던데 그래도 잘 챙겨넣기!!)
-문자열 복사, 수정할 때 for문이나 while문에 잘 쓴다
-또한 빈 문자열변수에 다른 문자열을 복사했을 때 마지막 index다음 index에 '\0'을 입력해야 한다
strcat(str1, str2) / strncat(str1, str2, n)
-문자열 이어붙이기
-str1에 str1뒤에 str2를 연결한 문자열을 저장
-헤더 <string.h>
-strncat은 str1뒤에 str2에 있는 문자열 n개를 이어 붙이는 함수이다
strcpy(str1, str2) / strncpy(str1, str2, n)
-헤더 <string.h>
-str2를 str1로 복사
-n개만큼 복사
strcmp(str1, str2) / strncmp(str1, str2, n)
-문자열 비교
-str1, str2이 같으면 0 return
-str1 < str2이면 음수 return (ex. str1: xxxa str2: xxxb)
-str2 > str2이면 양수 return (ex. str1: xxxb str2: xxxa)
-strncmp는 n개만 비교
(const char* str1 = “xxxxa”
const char* str2 = “xxxxb”
strncmp(str1, str2, 4); //‘xxxx” 까지만 검사하므로 0 반환
strncmp(str1, str2, 5); // a < b 이므로 음수 반환)
atoi(str) / atof(str) /atol(str) / itoa() / sprintf()
-atoi : 문자열- > 정수
-atof : 문자열 -> 실수
-atol : 문자열 -> long정수
-itoa : 정수 -> 문자열
-sprintf : 정수 -> 문자열
strstr(str1, str2)
isdigit
strcmp
toupper(str) / tolower(str) / isupper(str) / islower(str)
size_t타입
-객체나 값이 포함할 수 있는 최대 크기의 데이터를 표현하는 데이터 타입이다
복사
비교
위치찾기