電子書籍の厳選無料作品が豊富!

reverse関数を使おうとしました。
言語はC言語です。
reverse関数の意味に配列の並びを逆にします。
と書いてあったのでしようしたのですが。。。
コンパイルすると、「識別子が見つかりませんでした」
なります。
C言語では使えないのですか?

ソフトはMicrosoft visual studioを使用してます。

A 回答 (3件)

No.2さんも書かれていますが、C++であればreverse関数を使用できます。


STLという枠組みの中で、ともおっしゃられていますが、厳密には
イテレータという枠組みの中でと言った方がいいかと思います。
配列のアドレスは広義にイテレータとして扱えますので、

#include <algorithm>
int main( int, char** )
{
charary[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, };

std::reverse( &ary[0], &ary[10] );
}

のようにして配列の要素を逆転させることは可能です。
    • good
    • 0
この回答へのお礼

char**という使い方もできるんですね。
stdについては最近しました。
これでまた一つ勉強にないりました。
CGHをやることになったので、真剣にC++について勉強してみます。
イテレータについてはまだよく分かってないのでその部分もやります。
ありがとうございました。

お礼日時:2007/04/13 01:33

> reverse関数の意味に配列の並びを逆にします。


> と書いてあったのでしようしたのですが。。。

具体的に書いてあった内容をそのまま表示した方が、回答する側としてはわかりやすいのですが。
一番それらしいのが、STL の標準アルゴリズムにある、 reverse かと思いますが、それだと、「要素の並びを逆にする」かなと思います。

これだとすると、C++の、STLという枠組みの中でしか使えません。

STL 自体は、非常に便利なものなので勉強する価値は大いにありますが。
    • good
    • 0
この回答へのお礼

はい。
そのとおりでした。
C++がやはり必要だと思い調べたらSTLというのがありました。
C言語でreverseがあると思っていたのはC++のことでした。
勉強不足でした。ありがとうございます。

お礼日時:2007/04/13 01:26

reverse関数はC言語の標準関数にはありません。


自作する必要があるのではないでしょうか。
    • good
    • 0
この回答へのお礼

最近C++を勉強しました。
C言語にはないんですね。
配列を他に作ったソースを作りました。
ありがとうございます。

お礼日時:2007/04/13 01:24

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