スレ立てるまでもない質問はここで 第91刷
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
150:デフォルトの名無しさん 08/05/09 11:44:27 int** a; int* a[]; の2つなのですが、これまではどちらも同じ物と思って使用してきました。 しかし、最近qsortを使用する際に変数の宣言の仕方に対応して、比較関数の 書き方を変えないと正しく動作しないということを知りました。 ポインタのポインタ と 配列のポインタ の違いを知りたいのですが、どなたかご教授お願いします_(_ _)_ 151:150 08/05/09 11:46:09 使っているのはC言語です。 152:デフォルトの名無しさん 08/05/09 12:02:09 >>150 まず、Cでは要素数不定の配列変数は宣言できないので int** a; int* b[2]; /*Cでは要素数不定の配列変数は宣言できない*/ こんな感じになるんじゃね、で ポインタ変数のアドレスを格納する変数 と ポインタ配列 となる…多分ね、君が同じだと思ってた理由は C言語の規約で、”配列は式の中ではポインタとして扱われる” って感じのがあるからだと思うよ a = b; /*OK aにb配列の先頭アドレスが入る*/ b = a; /*NG 配列のアドレスにポインタは代入できない */ 後は関数の引数に宣言して、明示的にポインタ配列を渡す事を示すとか void func( int* a[] );
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4923日前に更新/172 KB
担当:undef