【C言語】文字列と配列【超わかりやすく解説】

本記事はC言語の文字列と配列を学生エンジニアが初心者の方へ向けて優しく解説しています。C言語は非常に多くのエンジニアが利用する、手を付けやすい言語です。C言語での文字列と配列を一緒に学習しましょう!

文字列と配列の関係

C言語ではchar型を用いて、
‘a’ などの文字を表すことができました。

しかし、
“hello” などの文字列は同じように表すことができませんでした。
文字列と配列の関係を理解することで、
char型の配列として文字列を表すことができます。

文字列をchar型の配列であらわす

“hello”をchar型の配列で表現する方法について、
様々な表現方法があります。5つのパターンを紹介します。

【表現1】
char str[6];

str[0]='h';
str[1]='e';
str[2]='l';
str[3]='l';
str[4]='o';
str[5]='\0';
【表現2】
char str[6]={'h','e','l','l','o','\0'};
【表現3】
char str[]={'h','e','l','l','o','\0'};
【表現4】
char str[6]="hello";
【表現5】
char str[]="hello";

大きく分けて、以上の5パターンの記述方法があります。
表現方法によっては [ ]内の要素数を省略できる点にも注目しましょう。

また、注意点が3つあります。
1つ目の注意点は、
“hello”のように5つの文字列を配列を用いて格納する場合、
要素数は6とします。
h,e,l,l,oの次にNULL文字(「\0」または「¥0」)といわれる
目には見えないか空の箱を1つ用意するのが配列を用いるの文字列の規則です。
文字列の数+1の数値を要素数にしましょう。

2つ目の注意点は、
文字列をコードに書く際は「” “」を使用し、
文字をコードに書く際には「’ ‘」を用いる区別をすることです。

3つ目の注意点は、
文字列では、下記のように代入ができない点に注意しましょう。

【間違い例】
char str[6]="hello";
str = "HELLO";

サンプルコード

#include <stdio.h>
int main(void){
    char str[]="hello";
    int i;
    
    for(i=0;i<6;i++){
        printf("%c",str[i]);
    }
    printf("\n");
    
    return 0;
}
【実行結果】
hello

文字列の出力はfor文を用いてこんな感じです。
C言語で文字列を表すことは、他の言語と比べると複雑です。
よく使用されるので慣れてみてください。

以上でC言語、文字列と配列の紹介を終わります。
最後まで読んでいただき、ありがとうございました!!

C言語の超オススメ本

この1冊でC言語のほとんどが完結する、間違いのない本ですよ\(^o^)/
つまづいたときに逆引きするC言語の辞書代わりにもなります!

PCを操作する上で、トラックボールマウスも非常におすすめです!
僕も感動したこのマウスを、騙されたと思って使ってみてください!(^^)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です