C 언어
C의 문자열 선형 시퀀스의 문자 모음일 뿐입니다. 'C'는 공백을 포함하더라도 문자열을 항상 단일 데이터로 취급합니다. 단일 문자는 작은따옴표 표현을 사용하여 정의됩니다. 문자열은 큰따옴표를 사용하여 표시됩니다.
Example, "Welcome to the world of programming!"
'C'는 C의 문자열에서 복잡한 작업을 쉽게 수행하는 데 사용할 수 있는 많은 기능을 포함하는 표준 라이브러리
이 튜토리얼에서는 배우게 될 것입니다-
C 문자열은 char를 데이터 유형으로 사용하는 간단한 배열입니다. 'C' 언어는 문자열을 데이터 유형으로 직접 지원하지 않습니다. 따라서 C에서 String을 표시하려면 문자 배열을 사용해야 합니다.
C에서 변수를 String으로 선언하는 일반적인 구문은 다음과 같습니다.
char string_variable_name [array_size];
고전적인 문자열 선언은 다음과 같이 수행할 수 있습니다.
char string_name[string_length] = "string";
배열의 크기는 C에서 문자열 변수 내부에 얼마나 많은 문자가 저장될 것인지 계산하는 데 사용되기 때문에 C 문자열 변수를 선언할 때 정의해야 합니다. 문자열 선언의 몇 가지 유효한 예는 다음과 같습니다.
char first_name[15]; //declaration of a string variable char last_name[15];
위의 예는 배열 크기가 15인 문자열 변수를 나타냅니다. 이는 주어진 C 문자열 배열이 최대 15자를 보유할 수 있음을 의미합니다. 배열의 인덱싱은 0부터 시작하므로 0-14 위치의 문자를 저장합니다. C 컴파일러는 생성된 문자 배열에 NULL 문자 '\0'을 자동으로 추가합니다.
C에서 문자열 초기화를 연구합시다. 다음 예제는 C에서 문자열 초기화를 보여줍니다.
char first_name[15] = "ANTHONY"; char first_name[15] = {'A','N','T','H','O','N','Y','\0'}; // NULL character '\0' is required at end in this declaration char string1 [6] = "hello";/* string size = 'h'+'e'+'l'+'l'+'o'+"NULL" = 6 */ char string2 [ ] = "world"; /* string size = 'w'+'o'+'r'+'l'+'d'+"NULL" = 6 */ char string3[6] = {'h', 'e', 'l', 'l', 'o', '\0'} ; /*Declaration as set of characters ,Size 6*/
string3에서 NULL 문자를 명시적으로 추가해야 하며 문자는 작은따옴표로 묶습니다.
'C'를 사용하면 문자 배열의 크기를 정의하지 않고도 문자열 변수를 초기화할 수 있습니다. 다음과 같은 방법으로 수행할 수 있습니다.
char first_name[ ] = "NATHAN";
C에서 문자열 이름은 기본적으로 배열이기 때문에 포인터 역할을 합니다.
사용자에게 입력을 요청하는 대화형 프로그램을 작성할 때 C는 사용자로부터 입력된 텍스트 줄을 찾기 위해 scanf(), gets() 및 fgets() 함수를 제공합니다.
scanf()를 사용하여 읽을 때 배열 이름이 포인터 역할을 하기 때문에 변수 주소에 액세스하기 위해 "&"를 사용하지 않고 "%s" 형식 지정자를 사용합니다. 예:
#include <stdio.h> int main() { char name[10]; int age; printf("Enter your first name and age: \n"); scanf("%s %d", name, &age); printf("You entered: %s %d",name,age); }
출력:
Enter your first name and age: John_Smith 48
scanf 함수의 문제는 C에서 전체 문자열을 읽지 않는다는 것입니다. 공백, 양식 피드, 세로 탭, 줄 바꿈 또는 캐리지 리턴이 발생하는 즉시 읽기 프로세스를 중지합니다. "Guru99 Tutorials"로 입력을 제공한다고 가정하면 scanf 함수는 두 이름 사이에 공백 문자가 발생하기 때문에 전체 문자열을 읽지 않습니다. scanf 함수는 Guru99만 읽습니다.
공백이 포함된 문자열을 읽기 위해 gets() 함수를 사용합니다. Get은 공백을 무시합니다. 줄 바꿈에 도달하면 읽기를 중지합니다(Enter 키를 눌렀을 때). 예:
#include <stdio.h> int main() { char full_name[25]; printf("Enter your full name: "); gets(full_name); printf("My full name is %s ",full_name); return 0; }
출력:
Enter your full name: Dennis Ritchie My full name is Dennis Ritchie
gets()에 대한 또 다른 안전한 대안은 지정된 수의 문자를 읽는 fgets() 함수입니다. 예:
#include <stdio.h> int main() { char name[10]; printf("Enter your name plz: "); fgets(name, 10, stdin); printf("My name is %s ",name); return 0;}
출력:
Enter your name plz: Carlos My name is Carlos
fgets() 인수는 다음과 같습니다.
표준 printf 함수는 출력 장치에서 C의 문자열을 인쇄하거나 표시하는 데 사용됩니다. 사용된 형식 지정자는 %s
입니다.예,
printf("%s", name);
문자열 출력은 fputs() 및 printf() 함수로 수행됩니다.
fputs()는 문자열의 이름과 텍스트를 표시할 위치에 대한 포인터가 필요합니다. 화면에 인쇄하기 위해 표준 출력을 참조하는 stdout을 사용합니다. 예:
#include <stdio.h> int main() {char town[40]; printf("Enter your town: "); gets(town); fputs(town, stdout); return 0;}
출력:
Enter your town: New York New York
puts 함수는 출력 장치에서 C의 문자열을 인쇄하고 커서를 다시 첫 번째 위치로 이동하는 데 사용됩니다. puts 함수는 다음과 같은 방식으로 사용할 수 있습니다.
#include <stdio.h> int main() { char name[15]; gets(name); //reads a string puts(name); //displays a string return 0;}
이 함수의 구문은 다른 함수에 비해 비교적 간단합니다.
표준 'C' 라이브러리는 프로그램 내에서 문자열을 조작하는 다양한 기능을 제공합니다. 이러한 함수는 문자열 핸들러라고도 합니다. 이 모든 핸들러는
문자열 라이브러리 기능을 보여주는 아래 프로그램을 고려해 보겠습니다.
#include <stdio.h> #include <string.h> int main () { //string initialization char string1[15]="Hello"; char string2[15]=" World!"; char string3[15]; int val; //string comparison val= strcmp(string1,string2); if(val==0){ printf("Strings are equal\n"); } else{ printf("Strings are not equal\n"); } //string concatenation printf("Concatenated string:%s",strcat(string1,string2)); //string1 contains hello world! //string length printf("\nLength of first string:%d",strlen(string1)); printf("\nLength of second string:%d",strlen(string2)); //string copy printf("\nCopied string is:%s\n",strcpy(string3,string1)); //string1 is copied into string3 return 0; }
출력:
Strings are not equal Concatenated string:Hello World! Length of first string:12 Length of second string:7 Copied string is:Hello World!
기타 중요한 라이브러리 기능은 다음과 같습니다.
C 프로그래밍에서는 런타임 오류를 방지하기 위해 숫자 문자열을 숫자 값으로 변환할 수 있습니다. stdio.h 라이브러리에는 문자열을 숫자로 변환하는 다음 함수가 포함되어 있습니다.
다음 프로그램은 atoi() 함수를 보여줍니다:
#include <stdio.h> int main() {char *string_id[10]; int ID; printf("Enter a number: "); gets(string_id); ID = atoi(string_id); printf("you enter %d ",ID); return 0;}
출력:
Enter a number: 221348 you enter 221348
C 언어
C++는 다음 두 가지 유형의 문자열 표현을 제공합니다. - C 스타일 문자열입니다. 표준 C++에 도입된 문자열 클래스 유형입니다. C 스타일 문자열 C 스타일 문자열은 C 언어에서 시작되었으며 C++ 내에서 계속 지원됩니다. 이 문자열은 실제로 null로 끝나는 1차원 문자 배열입니다. 문자 \0. 따라서 null로 끝나는 문자열은 null 뒤에 오는 문자열을 구성하는 문자를 포함합니다. . 다음 선언 및 초기화는 Hello라는 단어로 구성된 문자열을 생성합니다. 배열의 끝에 널 문자를 유지하려면 문자열을 포함하는 문자
기술에 정통하고 새로운 3D 프린팅 기술에 흥미가 있습니까? 아니면 단순히 3D 프린터가 어떻게 작동하는지 궁금하십니까? 주변에 머물고 걱정하지 마십시오! 3D 프린팅 공정과 3D 오브젝트 제작 방식에 대한 아이디어를 얻으실 수 있도록 3D 프린터의 작동 원리에 대한 종합적인 연구를 진행했습니다. 3D 프린터는 3D 물체를 설계하고 제조하는 데 최첨단 기술을 사용합니다. 3D 프린터는 잉크젯 프린터처럼 작동하며 컴퓨터에서 작동합니다. 3D 프린터가 어떻게 작동하는지 알고 싶다면 이 자세한 가이드를 살펴보세요. 데스크탑 3D