ネットワークエンジニア系ブログ。エンターテイメント、おすすめ映画、本、キッズ系などお役立ち情報を紹介!

GOISBLOG

C言語

【C言語】文字列を変数に代入する設定

投稿日:2014年9月6日 更新日:

C言語は初期化時のときのみ、文字列の変数に値「=」を入れるルールとなっているようです。

例えば、変数に文字列を入れた後、別の文字列を新たに入れたいときは「strcpy」を使用します。

C言語における文字列のしくみ

文字列を記述する際は””でくくります。
また、文字列を格納する変数のコマンドを作成する際は以下のように設定します。

char s[10];
sは変数名、[10]は文字の長さにNULL文字を一つ分入れた数値となります。

なので、[10]を設定した際は、9文字の文字列+NULL(\0)となります。

スポンサーリンク


設定例

実際に書かないとわかんないんで、プログラムを書いてみました。

# vim test.c

#include <stdio.h>
#include <string.h>

main()
{
        char s[10] = &quot;Hello&quot;;
        printf(&quot;%s\n&quot;, s);
        strcpy(s, &quot;Good bye&quot;);
        printf(&quot;%s\n&quot;, s);
}

コンパイル実施

# gcc test.c -o test

プログラム実行

# ./test
Hello
Good bye

ためしに文字列の範囲を超えた設定をすると以下のようにエラーを吐きます。

# ./test
Hello
Good byekkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
セグメンテーション違反です (コアダンプ)

こんな感じです。

今日もなんとなく、わかった気がする自分であります。

この記事が気に入ったら
いいね!しよう

Twitter で
スポンサーリンク

-C言語
-,

Copyright© GOISBLOG , 2016 AllRights Reserved.