c 문자열 예제

문자열은 실제로 null 문자 “에 의해 종료 된 문자의 1 차원 배열입니다. 따라서 null-terminated 문자열에는 null 다음에 문자열을 구성하는 문자가 포함됩니다. 이 경우 컴파일러에서 문자열 끝에 “이 추가됩니다. maxlen이 10이기 때문에 문자열 길이가 13이었음에도 불구하고 두 번째 printf 문의 출력을 발견했습니까? 두 문자열을 비교하고, 문자열을 연결하며, 한 문자열을 다른 문자열에 복사하고 다양한 문자열 조작 작업을 수행하는 방법을 볼 수 있습니다. “string.h” 헤더 파일의 미리 정의된 함수를 사용하여 이러한 작업을 수행할 수 있습니다. 이러한 문자열 함수를 사용하려면 C 프로그램에 string.h 파일을 포함해야 합니다. 출력에서 위의 코드가 공간 분리 된 문자열에 대해 작동하지 않는다는 것이 분명합니다. 이 코드가 분리된 문자열에 대해 작동하도록 하려면 scanf 함수에 필요한 사소한 변경, 즉 scanf(“%s”,s)를 작성하는 대신 컴파일러에 새 줄(n)이 있는 동안 문자열을 저장하도록 지시하는 scanf(“%[^n]s”)를 작성해야 합니다. 발생. 공간 구분 된 문자열을 저장 하는 다음 예제를 살펴보겠습니다. string1 <string2 OR string1이 string2의 하위 문자열인 경우 음수 값이 생성됩니다. string1 == string2인 경우 문자열 비교에 이 함수를 사용할 때 0(0)을 얻게 됩니다.

다음은 문자열 “괴짜”의 메모리 표현입니다. C에서 문자열 상수(리터럴)는 “Hello world!”와 같은 큰따옴표(“”)로 둘러싸여 있으며 문자열의 끝을 표시하는 추가 널 종단 문자(0값) 코드가 있는 지정된 char 값의 배열로 컴파일됩니다. 문자열 상수의 형식은 char []입니다. 출력: maxlen이 30일 때 문자열 str1의 길이: maxlen이 10일 때 문자열 str1의 길이: 10 다음 선언 및 초기화가 “Hello”라는 단어로 구성된 문자열을 만듭니다. 배열의 끝에 null 문자를 유지 하려면 문자열을 포함 하는 문자 배열의 크기는 단어 “Hello”의 문자 수보다 하나 더 큽니다. 문자열은 문자 배열로 정의됩니다. 문자 배열과 문자열의 차이점은 문자열이 특수 문자 “으로 종료된다는 것입니다. strcpy() 함수는 s2(null 바이트 종료 포함)가 가리키는 C 문자열을 s1로 가리키는 배열로 복사해야 합니다.