掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.28570

型名の違い
投稿者---JT(2006/10/26 18:19:52)


int型の配列は要素数2なら、2個代入できるが。
char型の配列は要素数2なら、1文字だけ代入できる。
であってますか?

以下の
char n[2] = { 'a','b'};は、エラーですか?




int  a[2] = { 1000 , 2000 };
char n[2] = { 'a','b'};





この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:型名の違い 28571 たかぎ 2006/10/26 18:40:33


No.28571

Re:型名の違い
投稿者---たかぎ(2006/10/26 18:40:33)
http://takagi.in/


>int型の配列は要素数2なら、2個代入できるが。
>char型の配列は要素数2なら、1文字だけ代入できる。
>であってますか?

間違っています。

>以下の
>char n[2] = { 'a','b'};は、エラーですか?

エラーにはなりません。

なぜ試してみようとしないのかが、全くの謎です。



この投稿にコメントする

削除パスワード

No.28573

Re:型名の違い
投稿者---yoh2(2006/10/26 22:52:45)


>>以下の
>>char n[2] = { 'a','b'};は、エラーですか?
>
>エラーにはなりません。

ちょいと補足すると、文字配列としては問題ありませんが、文字列としては正しくありません。
(文字列は'\0'で終わる文字配列だから)

>なぜ試してみようとしないのかが、全くの謎です。

確かにコンパイルエラーにはなりませんが、意味的に不正かどうかは実験だけでは分からないことも多いですよね。
    int a[10];
    size_t i;
    for(i = 0; i <= 10; i++){
        a[i] = 0;
    }

なんて、間違ったプログラムですが、割と動いてしまったりしますし。
だから、こういった疑問が出ること自体は不思議ではないのでは?

# そういった間違いは普通「エラー」とは言わないというのなら同感。


この投稿にコメントする

削除パスワード

No.28574

Re:型名の違い
投稿者---たかぎ(2006/10/26 23:53:10)
http://takagi.in/


># そういった間違いは普通「エラー」とは言わないというのなら同感。

char n[2] = { 'a','b'};
というコードは、(スタックオーバーフローを除けば)実行時エラーが発生する可能性はありませんので、「その後の使い方までは関知しない」というつもりでした。
# 実際、「その後の」間違ったコードが書かれていたわけでもありませんし。



この投稿にコメントする

削除パスワード

No.28595

Re:型名の違い
投稿者---yoh2(2006/10/27 22:31:12)


2つの話題を一緒に書いてしまったため、誤解をさせてしまったようです。
前半部分では、

>char n[2] = { 'a','b'};

はエラーにならないといった、たかぎさんの回答に全く問題がないのを承知の上で、
元質問者のJTさんが文字配列と文字列を混同しているような気がしたので、

>文字配列としては問題ありませんが、文字列としては正しくありません。

と、ちょっと補足をしてみただけです。
その文がどういった文脈で使われるかというところまでは私も無視していました。

後半部分は、

>なぜ試してみようとしないのかが、全くの謎です。

という文が、char n[2] = { 'a','b'}; が(実際は問題ないわけですがそれはさておき)
正しいかどうか実験しても分からないから質問する、といった行為まで封じているように感じて
つい反応してしまった次第です。

いずれにせよ、気分を害してしまったのなら申し訳ありません。


この投稿にコメントする

削除パスワード

No.28597

Re:型名の違い
投稿者---たかぎ(2006/10/27 23:08:44)
http://takagi.in/


>元質問者のJTさんが文字配列と文字列を混同しているような気がしたので、

このあたりは、本人が現れないと実際はどうなのかわかりませんね。

>いずれにせよ、気分を害してしまったのなら申し訳ありません。

それは大丈夫です。どうか気になさらないでください。



この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧