-
[게임알고리즘] 5-1강 문자열[DSU] 게임알고리즘 2026. 4. 3. 23:16728x90
C/C++에서 문자열의 특징
char s[10] = "Hi";
1. "문자열"로 배열 초기화 가능
char s[10] = { 'H', 'i', '\0' };
2. 모든 문자열의 끝은 0
char s[10] = "Hi\0 world";
std::cout << s; 혹은 printf(s); 호출시 Hi가 출력
3. 버퍼 크기 10 / 문자열의 길이 2 / 사용량 3
다른 예를 들면,
const char* s0 = "Hi world";
char s1[10] = "Hi world ";
printf("%s\n", sizeof(s0)); // 주소값의 크기, 32bit 시스템 4, 64bit 시스템 8 출력됨.
printf("%s\n, sizeof(s1)); // 버퍼 크기 10
4. 그 외 살펴보기
// 1 비교
#define uint32 unsigned int
typedef unsigned int uint32;
// 2 비교
#include <> vs ""
// 3 비교
delete[] tmp vs delet tmp// 4 타입
// void 및 void*C/C++ 자주 사용되는 기본함수 구현
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586namespace STD {typedef unsigned int uint32;// 문자열의 길이 구하기uint32 strlen(const char* s){#if 0int i;for(i=0; ; i++){if( s[i]==0 )return i;// break;}return -1;// 0xffffffff#elseint i;for(i=0; s[i]; i++) ;return i;#endif}// 문자열 복사void strcpy(char* dst, const char* src){int i;for(i=0; src[i]; i++)dst[i] = src[i];dst[i] = 0;}// 문자열 비교(return: 같을때는 0, 다를때는 1)int strcmp(const char* dst, const char* src){int i;for(i=0; src[i]; i++){if( dst[i]!=src[i] )return 1;}if( dst[i] )return 1;return 0;}// 문자열 연결void strcat(char* dst, const char* src){int len;for(len=0; dst[len]; len++) ;int i;for(i=0; src[i]; i++)dst[len + i] = src[i];dst[len + i] = 0;}// 문자열 뒤짚기void reverse(char* str){int len = strlen(str);int num = len / 2;for(int i=0; i<num; i++){char t = str[i];str[i] = str[len-1-i];str[len-1-i] = t;}}// 메모리 초기화void memset(void* dst, int value, int size){char* d = (char*)dst;for(int i=0; i<size; i++)d[i] = value;}// 메모리 복사void memcpy(void* dst, const void* src, int size){char* d = (char*)dst, * s = (char*)src;for(int i=0; i<size; i++)d[i] = s[i];}}cs 
매일매일 열심히 게임개발하고 있습니다 '[DSU] 게임알고리즘' 카테고리의 다른 글
[게임알고리즘] 5-3강 문자열 (0) 2026.04.04 [게임알고리즘] 5-2강 문자열 (0) 2026.04.03 [게임알고리즘] 4-3강 링크리스트 실습 예제 (0) 2026.03.27 [게임알고리즘] 4-2강 링크 리스트 (0) 2026.03.27 [게임알고리즘] 4-1강 링크리스트 (0) 2026.03.27

