C언어 문자열 함수

자주 하는 실수

학생들이 자주 하는 실수

실수 1: sizeof와 혼동

char str[100] = "Hi";

if (sizeof(str) > 10)  // ❌ 항상 100
if (strlen(str) > 10)  // ✅ 실제 길이 2

실수 2: 널문자 없는 배열에 사용

char data[5] = {'H', 'e', 'l', 'l', 'o'};  // 널문자 없음!
int len = strlen(data);  // ❌ 위험! 쓰레기 값까지 읽음
널문자가 없는 문자 배열에 strlen을 사용하면 예측할 수 없는 결과가 발생합니다!

실수 3: 빈 문자열 체크 안 함

char* str = "";
if (strlen(str) > 0) {  // ✅ 빈 문자열 체크
    // 처리
}

댓글

댓글 본문
버전 관리
anton
현재 버전
선택 버전
graphittie 자세히 보기