문자 배열을 문자열이라고 합니다.
선언
다음은 배열을 선언하는 선언입니다. -
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.