>  기사  >  백엔드 개발  >  문자열을 함수에 전달하는 C++ 프로그램

문자열을 함수에 전달하는 C++ 프로그램

PHPz
PHPz앞으로
2023-08-26 12:17:121232검색

문자열을 함수에 전달하는 C++ 프로그램

함수를 사용하는 모든 프로그래밍 언어에는 더 간단하고 모듈식이며 디버깅하는 동안 변경하기 쉬운 코드가 있습니다. 함수는 모듈식 코드에서 매우 유용한 부분입니다. 함수는 매개변수를 받아들이고 매개변수에 대해 특정 작업을 수행할 수 있습니다. 다른 기본 데이터 유형과 마찬가지로 객체 유형이나 배열을 매개변수로 전달할 수도 있습니다. 이 기사에서는 C++에서 문자열 유형 데이터를 함수 매개변수로 전달하는 방법을 살펴보겠습니다.

C++ 문자열과 유사한 매개변수를 함수에 전달

C++는 실제로 서로 다른 멤버 함수가 연결된 클래스인 더 강력한 문자열 개체를 지원합니다. 인수로 전달되는 문자열 개체는 일반적인 기본 데이터 유형을 전달하는 것과 유사합니다.

구문

으아아아

다음 예에서는 주어진 문자열이 회문인지 여부를 확인하는 프로그램을 볼 수 있습니다. 하나는 문자열을 뒤집는 기능이고 다른 하나는 문자열이 회문인지 여부를 확인하는 것입니다. 알고리즘과 해당 C++ 구현.

알고리즘

  • 함수 reverse()를 정의하면 문자열 s를 사용합니다
  • n := (길이 s/2)
  • 의 바닥
  • i의 범위는 0에서 n/2까지입니다.
    • 임시 := s[i]
    • s[i] := s[n - i - 1 ]
    • s[ n - i - 1 ] := 온도
  • 종료
  • 반품
  • reverse() 함수의 끝
  • 매개변수 s를 받아들이는 isPalindrome() 함수를 정의하세요
  • revS := s를 전달하여 reverse()를 호출하여 문자열 s를 반전시킵니다
  • s와 revS가 동일하다면
    • 참을 반환
  • 그렇지 않으면
    • 거짓 반환
  • 끝나면
  • isPalindrome() 함수가 종료됩니다

Example

의 중국어 번역은 다음과 같습니다:

Example

으아아아

출력

으아아아

C와 유사한 문자 배열을 함수에 전달

C++는 C에서 지원하는 거의 모든 것을 지원하므로 C와 같은 문자 배열을 사용하여 문자열을 정의할 수도 있습니다. C와 유사한 문자열을 함수에 전달하려면 함수의 기본 주소에 대한 문자 배열이나 문자 포인터를 전달해야 합니다. 문자열은 아래와 같습니다 −

구문

(문자 포인터 사용)

으아아아

구문

(문자 배열 사용)

으아아아

문자 배열 전달을 통해 동일한 회문 검사 예제를 살펴보겠습니다. 여기서 reverse() 함수는 배열을 수정하므로 이 문자열을 문자 포인터가 아닌 문자 배열로 전달해야 하며 isPalindrome()은 검사만 수행합니다. 문자열이 반전된 문자열과 동일한지 여부에 따라 문자 포인터나 문자 배열을 사용할 수 있으며 효과는 동일하므로 코드에 직접 입력합니다.

Example

의 중국어 번역은 다음과 같습니다:

Example

으아아아

출력

으아아아

이 예에서는 C++에서 C 스타일 문자열을 적용하는 데 여러 단계가 있음을 알 수 있습니다. C 스타일 문자열의 경우 길이, 문자열 비교 및 ​​기타 작업을 위해 cstring 라이브러리를 사용하십시오. C++ 문자열을 C 문자열로 변환하려면 c_str() 함수를 사용해야 하지만 이 함수는 const char*를 반환합니다. 그러나 우리 함수는 char* 유형의 데이터만 허용합니다. 이 경우 const_cast를 사용하여 값을 char* 유형으로 변환해야 합니다.

결론

함수는 기본 데이터 유형뿐만 아니라 배열, 객체 유형 등도 허용할 수 있습니다. 문자열을 사용할 때 C++에서는 객체 유형이고 C에서는 문자 배열 유형입니다. 그러나 C++에서는 C 구문도 지원하므로 C++에서도 유효합니다. 문자열 객체를 전달하는 것은 간단하지만 문자 배열을 전달하려면 특별한 주의가 필요하며 몇 가지 엄격한 단계를 따라야 합니다. C 스타일 문자열은 배열 형식이나 문자 포인터로 전달될 수 있습니다. 함수가 문자열 자체를 수정한다는 것을 알면 문자열을 문자 배열로 전달해야 합니다. 그렇지 않으면 포인터에서 문자열을 수정하는 것이 허용되지 않습니다. 문자열만 사용하는 경우 포인터나 문자 배열을 사용하여 전달할 수 있으며 효과는 동일합니다. 그러나 이 경우 문자 배열을 통해 전달하는 것은 의도하지 않은 문자열 업데이트를 방지하므로 좋습니다.

위 내용은 문자열을 함수에 전달하는 C++ 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제