문자 배열을 문자열이라고 합니다.
선언
다음은 배열을 선언하는 선언입니다. -
char stringname [size];
예:char string[50]; 길이 50자의 문자열
초기화
- 단일 문자 상수 사용 -
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
- 문자열 상수 사용하기 -
char string[10] = "Hello":;
액세스 − '\0'이 나타날 때까지 문자열에 액세스하는 데 사용되는 제어 문자열 "%s"가 있습니다.
최대 발생 찾기
문자의 최대 발생을 찾는 논리는 -
입니다.- 먼저 다음 프로그램을 사용하여 문자의 빈도를 찾습니다.
while(string[i] != '\0'){ value = (int)string[i]; frequency[value] += 1; i++; }
- 이를 기반으로 최대 발생 문자를 찾습니다.
maximum = 0; for(i=0; i<CHARS; i++){ if(frequency[i] > frequency[maximum]) maximum = i; }
예시
다음은 문자열에서 최대 발생 문자를 찾는 C 프로그램입니다 -
#include <stdio.h> #define SIZE 100 // Maximum string size #define CHARS 255 // Maximum characters allowed int main(){ char string[SIZE]; int frequency[CHARS]; int i = 0, maximum; int value; printf("Enter the string:\n "); gets(string); for(i=0; i<CHARS; i++){ frequency[i] = 0; // initialize freq of all characters to zero } /* Finds frequency of each characters */ i=0; while(string[i] != '\0'){ value = (int)string[i]; frequency[value] += 1; i++; } /* Finds maximum frequency */ maximum = 0; for(i=0; i<CHARS; i++){ if(frequency[i] > frequency[maximum]) maximum = i; } printf("Maximum occurrence character is '%c' = %d times.", maximum, frequency[maximum]); return 0; }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
Enter the string: tutorials point Maximum occurrence character is 't' = 3 times.