回答編集履歴

1 追記

catsforepaw

catsforepaw score 5792

2015/12/17 19:24  投稿

char配列を文字列領域として使うことが前提なら、「初期化」でしたらこんな感じです。
```C
char str[31+1] = "";   // = {0};でもいいけど、この方が文字列っぽさを表現できる
```
「空文字列にしたい」というのであれば、
```C
str[0] = '\0';
```
です。
基本的に`memset`は使わないことにしています。
基本的に`memset`は使わないことにしています。
---
追記
最近(というか21世紀に入ってから)は純粋なC言語を使うことがなくなったので、使い捨てのバッファー領域でもない限り、Chironianさん同様、char配列を文字列として使うことはなくなりましたね。STLコンテナの`array`はたまに使います。
```C++
std::array<char, 31+1> str;
str.fill('\0'); // 全クリア
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る