次の宣言と初期化は、 "Hello"という単語からなる文字列を作成します。 配列の末尾にヌル文字を保持するには、文字列を含む文字配列のサイズは、 "Hello"という単語の文字数の1倍以上です。
char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
配列の初期化の規則に従えば、次のように上記の文を書くことができます
char greeting[] = "Hello";
以下は、C / C ++における上記の定義された文字列のメモリ表現です

実際には、文字列定数の末尾にヌル文字を置かないでください。 配列を初期化するときに、Cコンパイラは文字列の最後に '\ 0'を自動的に配置します。 上記の文字列を印刷しようとしましょう
#include <stdio.h> int main () { char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; printf("Greeting message: %s\n", greeting ); return 0; }
Greeting message: Hello
Cは、ヌルで終了する文字列を操作する幅広い関数をサポートしています
| Sr.No. | Function & Purpose | 
|---|---|
| 1 | 
strcpy(s1, s2); 
Copies string s2 into string s1. 
 | 
| 2 | 
strcat(s1, s2); 
Concatenates string s2 onto the end of string s1. 
 | 
| 3 | 
strlen(s1); 
Returns the length of string s1. 
 | 
| 4 | 
strcmp(s1, s2); 
Returns 0 if s1 and s2 are the same; less than 0 if s1<s2; greater than 0 if s1>s2. 
 | 
| 5 | 
strchr(s1, ch); 
Returns a pointer to the first occurrence of character ch in string s1. 
 | 
| 6 | 
strstr(s1, s2); 
Returns a pointer to the first occurrence of string s2 in string s1. 
 | 
#include <stdio.h> #include <string.h> int main () { char str1[12] = "Hello"; char str2[12] = "World"; char str3[12]; int len ; /* copy str1 into str3 */ strcpy(str3, str1); printf("strcpy( str3, str1) : %s\n", str3 ); /* concatenates str1 and str2 */ strcat( str1, str2); printf("strcat( str1, str2): %s\n", str1 ); /* total lenghth of str1 after concatenation */ len = strlen(str1); printf("strlen(str1) : %d\n", len ); return 0; }
上記のコードをコンパイルして実行すると、次の結果が生成されます
strcpy( str3, str1) : Hello strcat( str1, str2): HelloWorld strlen(str1) : 10
No comments:
Post a Comment