Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

C言語の文字列


文字列は文字の配列であり、ヌル文字(\ 0)で終了します。ヌル文字はユーザーによって配置されません。コンパイラーはヌル文字を文字列の最後に自動的に配置します。

配列と文字列の違いは、コンパイラが配列の最後にヌル文字を配置しないのに対し、文字列ではコンパイラがヌル文字を配置することです。

これがC言語の文字列の構文です

char myStr[size];

ここで

myStr: 文字列

サイズ: 文字列のサイズを設定する

以下に示すようにC言語で文字列を初期化します-

char myStr[size] = “string”;
char myStr[size] = { ‘s’,’t’,’r’,’i’,’n’,’g’,’\0’ };

次の表は、C言語での文字列の機能を示しています。

関数 目的
strcpy(s1、s2) 文字列s2を文字列s2にコピーします
strcat(s1、s2) s2をs1の終わりに連結します
strlen(s1) 文字列s1の長さを返します
strcmp(s1、s2) s1とs2が同じ場合は0を返しますs1のASCII値がs2より大きい場合は0より大きいs1のASCII値がs2より小さい場合は0未満
strchr(s1、ch) 文字列s1で最初に出現する文字chへのポインタを返します
strstr(s1、s2) 文字列s1で最初に出現する文字列s2へのポインタを返します

これがC言語の文字列の例です

#include <stdio.h>
#include <string.h>
int main () {
   char s1[10] = "Hello";
   char s2[10] = "World";
   int len, com ;
   strcpy(s1, s2);
   printf("Strings s1 and s2 : %s\t%s\n", s1, s2 );
   strcat( s1, s2);
   printf("String concatenation: %s\n", s1 );
   len = strlen(s1);
   printf("Length of string s1 : %d\n", len );
   com = strcmp(s1,s2);
   printf("Comparison of strings s1 and s2 : %d\n", com );
   return 0;
}

出力

Strings s1 and s2 : WorldWorld
String concatenation: WorldWorld
Length of string s1 : 10
Comparison of strings s1 and s2 : 87

  1. C言語のstrcmp()関数とは何ですか?

    Cライブラリ関数intstrcmp(const char * str1、const char * str2) str1が指す文字列を比較します str2が指す文字列へ 。 文字の配列は文字列と呼ばれます。 宣言 以下は配列の宣言です- char stringname [size]; 例-charstring[50];長さ50文字の文字列 初期化 単一文字定数の使用- char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,&ls

  2. C言語のstrcpy()関数とは何ですか?

    Cライブラリ関数char* strcpy(char * dest、const char * src) srcが指す文字列をコピーします 宛先へ 。 文字の配列は文字列と呼ばれます。 宣言 以下は配列の宣言です char stringname [size]; 例-charstring[50];長さ50文字の文字列 初期化 単一文字定数の使用- char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}