C 언어의 문자열 길이

String Length C Language



C 언어의 문자열은 null 문자()로 끝나는 문자 배열입니다. 문자열 길이는 문자열의 문자 수입니다. 문자열 길이 ''에서 문자는 계산되지 않습니다.







위의 예에서 문자열의 길이는 NS 6이다.



이 자습서에서는 먼저 사용 방법을 보여줍니다. 사용자 정의 함수 문자열의 길이를 계산한 다음 내장 라이브러리 함수를 보여줍니다. strlen() . 우리는 또한 당신에게 크기 문자열 리터럴에 대한 연산자입니다.



사용자 정의 함수를 사용한 문자열 길이

문자열의 문자 수를 반환하는 사용자 정의 함수를 작성할 수 있습니다.





//예제1.c
#포함하다

정수문자열 길이( *NS)
{
정수NS=0;

동안(NS[NS] ! = ' 0')NS++;

반품NS;
}

정수기본()
{
NS[30]= '끈';

인쇄 ('문자열 str의 길이는 => %d입니다.N',문자열 길이(NS));

반품 0;
}

여기에서 while 루프를 반복합니다. 나는 = 0 만나지 않을 때까지 ' 0' 캐릭터. 의 가치 NS 에 의해 증가된다 1 while 루프의 각 반복에서. 루프가 종료되면 값 NS 문자열의 길이입니다.



내장 라이브러리 함수를 사용한 문자열 길이

내장 라이브러리 기능 strlen() 문자열 길이를 결정하는 데 사용할 수도 있습니다.

strlen() 함수:

헤더 파일:

끈.시간

통사론:

size_t 스트렌 (상수 *NS)

논쟁: 이 함수는 char에 대한 유형 포인터의 인수를 취합니다.

반환 값: 이 함수는 문자열의 길이를 반환합니다. NS . 참고 size_t 부호 없는 정수의 별칭일 뿐입니다.

//예제2.c
#포함하다
#포함하다

정수기본()
{
str1[30]='문자열 배열';
*str2;
*str3;

str2=str1;
str3= '문자열 포인터';

인쇄 ('문자열 str1의 길이는 => %ld입니다.N', 스트렌 (str1));
인쇄 ('문자열 str2의 길이는 => %ld입니다.N', 스트렌 (str2));
인쇄 ('문자열 str3의 길이는 => %ld입니다.N', 스트렌 (str3));
인쇄 ('문자열의 길이'문자열 리터럴' => %ld입니다N', 스트렌 ('문자열 리터럴'));

반품 0;
}

여기에서 문자열 배열, 문자열 포인터 및 문자열 리터럴을 strlen 함수에 전달하고 함수는 문자열의 길이를 반환합니다.

sizeof 연산자를 사용한 문자열 길이

우리는 또한 사용할 수 있습니다 크기 문자열 길이에 대한 연산자(문자열 리터럴에만 해당). 그러나 이 연산자가 반환한 값에서 1을 빼야 합니다. '' 문자도 계산하기 때문입니다. 배열과 포인터의 경우 sizeof 연산자는 배열과 포인터의 할당된 크기를 각각 반환합니다.

//예제3.c
#포함하다

정수기본()
{
str1[30] = '끈';
*str2=str1;

인쇄 ('의 길이 '' => %d입니다.N',(크기('끈') - 1));
인쇄 ('str1 배열의 할당된 크기는 => %d입니다.N',크기(str1));
인쇄 ('str2 포인터의 크기는 => %d입니다.N',크기(str2));

반품 0;
}

여기 9번 라인에서 문자열 리터럴 STRING을 전달하고 '' 문자를 포함한 크기를 가져옵니다. 따라서 1을 빼고 문자열의 실제 크기를 얻습니다.

sizeof 연산자에 배열을 전달할 때 배열의 할당된 크기인 30을 반환하고 문자 포인터를 전달할 때 포인터의 크기를 반환합니다.

결론

따라서 이 자습서에서는 문자열 길이를 다양한 방법으로 계산하는 방법을 보여주었습니다. 코드에서 가장 적합한 방법을 사용할 수 있습니다.