반응형

a 배열에 test를 넣으면 a의 사이즈는 자동으로 5가 된다.

 

이유는 끝에 \0이 들어가기 때문이다.

t e s t \0

strlen은 \0을 제외하고 string 크기만 찾아준다.

 

결과는 4가 나온다.


컴파일 했을때 오류는 안뜬다.

하지만 실행시키고 test라는 문자를 입력하자마자 오류가 뜬다.

 

왜냐하면 a배열의 사이즈를 지정을 안해줬기 때문에 버퍼의 크기가 0이라 오류가 뜬다.

 

사이즈를 5로 지정해주면 정상적으로 값이 나온다.

t e s t \0

만약 사이즈를 4로 지정해주면 버퍼가 작다고 오류가 뜬다.

왜냐하면 끝에 \0 이 들어갈 자리가 없기 때문이다.

 

반응형

+ Recent posts