[C언어 예제] 문자열의 길이를 리턴하는 함수

strlen()함수를 구현해 보자

인자값으로 문자열의 포인터가 들어가고 리턴값으로 문자열의 길이가
나오게된다.

<정석으로 짜기>
------------------------------------------------
int j_strlen(char *str)
{
 char *p;
 int len=0;
 p = (char *)str;
 while(*p!=NULL)
 {
  len++;
  p++;
 }
 return len;
}




<야매로 짜기>
---------------------------
int j_strlen(char *str)
{
 int len=0;
 while(*str != NULL)
   len++;
 return len;
}

by 재동이 | 2008/11/19 17:48 | │ C언어 예제 | 트랙백 | 덧글(1)

트랙백 주소 : http://rabe.egloos.com/tb/2142776
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 임유관 at 2009/10/23 16:58
밑에 것이 야매라는 생각이 안드는데요?
오히려 위에 코드가 이상해요.
p = (char *)str; 이 부분은 str 자체가 이미 char* 형인데 왜 형변환이 해줬는지..
그리고 str의 값을 왜 보존시킬려고 하는지...어차피 호출할 프로그램의 포인터는
변경시키지 않을 텐데요...
그리고 밑에거는
int my_strlen(char* str){
int len = 0;
while(*str++ != '\0')
len++;
return len;
}

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶