第2回:文字列


今週は,配列の応用として文字列を取り上げます.

参考:  文字型のページ, 配列のページ


文字列

複数の文字(文字列)や日本語を扱うにはどうしたらよいでしょう.文字を組み合わせて配列にした,文字列を用います.文字列をプログラム中で記述するときは,ダブルクオーテーションで囲みます.(例:"ABC""日本"

[文字配列の注意点]

文字配列を扱うには,文字列を構成する文字のほかにもうひとつ文字コード"0x00"または"\0"(ヌル文字)が必要となります.配列は,実際に必要とする文字数よりも,余分に1文字分用意する必要があります.足りないと致命的なエラーとなります.

文字列を初期化するには,

char c[5] = "ABCD";

とします.また,配列の要素の数を省略すると自動的に文字数+1個の配列が用意されます.

char c[ ] = "ABCD";

例:

#include <stdio.h>

void main()
{
    char c[5]="ABC0";
    int i;

    printf("与えられた文字列は%sです\n",c);

    for(i=0; i<5; i++){
        printf("%d文字目は%cです.コードは0x%xです.\n",i+1,c[i],c[i]);
    }  
}


文字列の入力

#include <stdio.h>

void main()
{
    char c[256];

    printf("文字を入力してください:");

    scanf("%s", c);

    printf("入力された文字列は%sです\n",c);
}

これまでの,数字の入力と異なり,&cとはならないことに注意してください.

【演習】

キーボードから文字列を入力すると,何文字入力されたかを画面に表示するプログラムを作成する.

ヒント:文字列の終わりはnull文字で判断する.


Oh-o! Meijiのレポートから(第2回)のところへ,演習で作成したプログラムを送る.プログラムには必ず,学年,組,番号,氏名,メールアドレスを記入すること.