C++문자 배열 의 입 출력 과 문자열 끝 표지 사용 설명

3766 단어 C++
C++문자 배열 의 입 출력
문자 배열 의 입 출력 은 두 가지 방법 이 있 습 니 다.
1)문자 마다 출력 을 입력 한다.
2)전체 문자열 을 한 번 에 입력 하거나 출력 합 니 다.예 를 들 어 다음 단계 가 있 습 니 다.

  char str[20];
  cin>>str; //           
  cout<<str; //           
다음 과 같은 문자열 을 실행 할 때 입력 하 십시오.

  ChinaL
메모리 에 있 는 배열 str 의 상 태 는 그림 5.9 와 같이 5 글자 뒤에 자동 으로 끝 부 호 를 추가 했다.

출력 할 때 끝 날 때 까지 문 자 를 하나씩 출력 합 니 다.출력 결 과 는:

  China
앞에서 말 한 바 와 같이 문자 배열 이름 str 는 문자 배열 의 첫 번 째 요소 의 주 소 를 대표 하고'cout<문자 배열 의 입 출력 에 대해 다음 과 같은 몇 가 지 를 주의 하 십시오.
출력 문 자 는 끝 문 자 를 포함 하지 않 습 니 다.
문자열 을 출력 할 때,cout 흐름 에 서 는 그룹 요소 이름 대신 문자 그룹 이름 을 사용 합 니 다.
배열 길이 가 문자열 의 실제 길이 보다 크 면 좋 을 때 까지 만 출력 할 수 있 습 니 다.
좋 을 것 같 아.
cin 으로 키보드 에서 컴퓨터 에 문자열 을 입력 할 때 키보드 에서 입력 한 문자열 은 정 의 된 문자 배열 의 길이 보다 짧 아야 합 니 다.그렇지 않 으 면 문제 가 발생 할 수 있 습 니 다.
C++는 cin 흐름 의 getline 함 수 를 제공 합 니 다.한 줄 의 문자(또는 한 줄 의 문자 중 몇 글자)를 읽 는 데 사용 되 며 안전 하고 편리 합 니 다.
C++문자열 과 문자열 끝 표지
문자열 의 문 자 를 문자 배열 로 저장 할 수 있 습 니 다.예:

  char str[12]={'I',' ','a','m',' ','h','a','p','p','y'};
1 차원 문자 배열 str 로 문자열 을 저장 합 니 다.문자열 의 실제 길이(10)는 배열 의 길이(12)와 같 지 않 습 니 다.위 에 10 개의 문 자 를 저장 하 는 것 외 에 시스템 은 문자 배열 의 마지막 두 요 소 를 자동 으로 빈 문 자 를 채 울 수 있 습 니 다.
문자열 의 실제 길 이 를 측정 하기 위해 서 C++는'문자열 끝 표지'를 규정 하여 문자 가 좋 을 것 같 습 니 다.위의 배열 에서 11 번 째 문 자 는 좋 을 것 같 아.좋 을 것 같 아.
문자열 상수 에 대해 시스템 은 자동 으로 모든 문자 뒤에 좋 을 것 같 아.예 를 들 어 문자열〃I am happy〃는 모두 10 개의 문자 가 있 지만 메모리 에 서 는 모두 11 개의 바이트 를 차지 하고 마지막 바이트 는 시스템 에서 자동 으로 추 가 됩 니 다.
프로그램 에 서 는 문자열 의 길이 에 따라 문자열 의 길 이 를 결정 하 는 것 이 아니 라 검 측 된 위치 에 의존 합 니 다.물론 문자 배열 을 정의 할 때 실제 문자열 의 길 이 를 평가 하고 배열 의 길이 가 문자열 의 실제 길이 보다 항상 크 도록 해 야 합 니 다.한 문자 배열 에 여러 개의 서로 다른 길이 의 문자열 을 저장 하면 배열 의 길이 가 가장 긴 문자열 의 길이 보다 커 야 합 니 다.
설명:진짜.
다음 문장 으로 문자열 을 출력 하면:

  cout<<″
  How do you do?″;
시스템 이 이 문 구 를 실행 할 때 문 자 를 하나씩 출력 합 니 다.그러면 어떤 문자 로 출력 해 야 하 는 지 어떻게 판단 합 니까?
다음은 문자 배열 초기 화 에 대한 추가 방법 입 니 다.문자열 상수 로 문자 배열 을 초기 화 합 니 다.예 를 들 면:

  char str[]={″I am happy″};
괄호

  char str[]=″I am happy″;
하나의 문 자 를 초기 값 으로 하 는 것 이 아니 라 하나의 문자열 을 사용 하 는 것 입 니 다.분명히 이런 방법 은 직관 적 이 고 편리 하 며 사람들의 습관 에 부합된다.메모:배열 str 의 길 이 는 10 이 아니 라 11 입 니 다.따라서 위의 초기 화 와 아래 의 초기 화 등 가:
 

  char str[]={'I',' ','a','m',' ','h','a','p','p','y','\0'};
아래 의 등가 가 아니다.

  char str[]={'I',' ','a','m',' ','h','a','p','p','y'};
전자의 길 이 는 11 이 고 후자 의 길 이 는 10 이다.하면,만약,만약...

  char str[10]=″China″;
진짜.그림 을 보다.

설명 이 필요 한 것 은 문자 배열 이 마지막 문 자 를 진짜 로 요구 하지 않 는 다 는 것 이다.아래 와 같이 이렇게 쓰 는 것 은 완전히 합 법 적 인 것 이다.

  char str[5]={'C','h','i','n','a'};
진짜그러나 C++컴 파일 시스템 때문에 문자열 상수 에 자동 으로 하 나 를 추가 할 수 있 습 니 다.따라서 사람들 은 처리 방법 을 일치 시 키 기 위해 문자열 의 실제 길 이 를 측정 하고 프로그램 에서 해당 하 는 처 리 를 하기 위해 문자 배열 에서 효과 적 인 문자 뒤에 도 인위적으로 하 나 를 더 할 수 있다.예:

  char str [6]={'C','h','i','n','a','\0'};

좋은 웹페이지 즐겨찾기