プロが教える店舗&オフィスのセキュリティ対策術

今、自分はc言語の勉強をしているの者なのですが
#include<strio.h>
#include<string.h>

#define LEN 100
int main()
{
char str_a[LEN+1]="";
char str_b[LEN+1]="";


この文のchar str_a[LEN+1]が何を表しているかが分かりません、教えてください!!

A 回答 (2件)

文字列の終わりを示す為に、文字列の最後に'\0'を追加します。


その為に、文字配列を確保する際は、文字数に+1した物を確保
する必要があります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!!
[LEN+1]はNULL文字のことだったですね。見落としていました。

お礼日時:2016/05/24 20:49

では、段階的に。


どこがわかっていて、どこがわからないのでしょうか?

(1)
#define LEN 100
の意味はわかりますか?

(2)
char str_a[LEN+1] ;
だとわかりますか?

(3)
char str_a[100+1]="" ;
だとわかりますか?

(4)
char str_a[100+1] ;
だとわかりますか?

(5)
char str_a[100+1]={ '\0' } ;
だとわかりますか?


(1)+(2)と(4)が一緒です。
(3)と(5)が一緒です。
(1)+ char str_a[LEN+1] は (3)と同じです。

#defineも配列もC言語の基礎なので、参考書とか学習サイトとかをよく読んでください。
    • good
    • 0
この回答へのお礼

もっと詳しく質問内容を書くべきでした。No.2で答えてくださったことが私の聞きたかった内容でした。
回答いただきありがとうございました。

お礼日時:2016/05/24 20:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!