- ベストアンサー
文字列をコピーするのと定義する事の違い。
strcpy(変数名, 文字列) とするのと char 変数名 = "文字列" とすることの違いは何ですか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
strcpyは ・対象が変数であるかどうかを斟酌しない。 ・文字列の長さを斟酌しない。 のに対し、「文字列による文字配列変数の初期化」は ・変数のみに使用できる。 ・文字列の全体が文字配列変数に収まることを保証する。 という違いがあります。
その他の回答 (2)
- ency
- ベストアンサー率39% (93/238)
回答No.3
あとは、string.h のインクルードの有無もありますね。 # strcpy() には string.h をインクルードする必要があると。。。
- yamaichiro
- ベストアンサー率31% (77/243)
回答No.1
「文字列」が同じ内容であるとすれば、結果は どちらも同じですよね。 前者は自分がその文字列を格納するのに足りる 長さのメモリを用意しなければならないのに対 して、後者だとそこが自動になるところが違う といったところでしょうかね。 char str1[128]; // 自分で用意している(malloc等で動的に用意しても良い) strcpy(str1, "aaaaa"); char str2[] = "aaaaa";