문자길이 구할때 sizeof가 내가원하는값이나오는데
strlen 이랑 sizeof랑 값이다르게나오는이유가뭐야?
익명(125.137)
2016-07-04 18:31
추천 0
댓글 9
다른 게시글
-
포인터나치(221.142) | 16.07.04추천 0
-
Domain Driven Design 이것을 심도 깊게 분석하면..☎2.73™(roidz) | 16.07.04추천 0
-
아래층에서 담배냄새 올라오는거같다17번(218.237) | 16.07.04추천 0
-
국비학원좆같네시바체브리아도..(chebriados) | 16.07.04추천 0
-
백왕 니뮤만 아실 내용 질문해 봅니다. [4]☎2.73™(roidz) | 16.07.04추천 0
-
이거왜오류가나는걸까??익명(125.137) | 16.07.04추천 0
-
씨언어 여기서 뭐가 잘못된거죠?? [3]익명(122.152) | 16.07.04추천 0
-
똥푸산식 프로그래밍ㅇㅇㅇ(133.130) | 16.07.04추천 3
-
이거 실행하면 왜 이렇게 뜨는지 아시는분? [7]dsa(122.45) | 16.07.04추천 0
-
html에서 뭔가 동작하게하려면 [5]익명(223.62) | 16.07.04추천 0
문자열의 길이와 배열의 크기는 다를 수 있기 때문입니다.
배열의 크기가 100이지만, 문자열의 길이는 10일 수도 있는 거죠.
배열의크기가 20인데 문자열의길이가 34로나오는건왜야?
type과 strlen을 잘못이해하고 있는것 같당.
char num[20] = " "; printf("%d %d\n",sizeof(num), strlen(num));
이렇게만해놨는데 20 34나와
그리구
http://gall.dcinside.com/board/view/?id=programming&no=609006
이거도 답변점해주랑
??? 이상한데요? 전체 소스코드 부탁드려요. 20 0 이 나와야 정상입니다.
sizeof 20은 맞고 strlen은 \0 (널문자) 까지를 읽어서 길이를 얻는데 34인건 니가 할당한 메모리를 넘어서 읽어들이던 중 널을 찾은 길이