- ベストアンサー
ポインタについての質問など
(1) プログラム引数を取る時の記述ですが…. (int argc, char *argv[]) (int argc, char **argv) 本によって記述がまちまちなんです. これらはどう違うのでしょうか? 特に後者の解釈の仕方がいまいち分からないので教えてください. 配列になってないように見えるのですが…. (2) 後者の記述(int argc, char **argv)で書かれたプログラムで ./program.exe okwave と引数を取ったとき,okwaveのoからeまでをfor文やwhile文でたどって何らかの処理をしたいのですが,どうすればいいのでしょうか? (3) ポインタには関係ありませんが,Windowsでncursesは使えないのでしょうか?
- みんなの回答 (11)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (10)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.11
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.10
- agricap
- ベストアンサー率40% (79/195)
回答No.9
- agricap
- ベストアンサー率40% (79/195)
回答No.8
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.7
- agricap
- ベストアンサー率40% (79/195)
回答No.6
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.5
- agricap
- ベストアンサー率40% (79/195)
回答No.3
- agricap
- ベストアンサー率40% (79/195)
回答No.2
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.1
関連するQ&A
このQ&Aのポイント
- エレコム製USBメモリーMF-CAU3116GBKがWindows 11で認識されない問題についての質問です。
- 購入後から接続ができず、特にエラーや反応がないため、解決策を求めています。
- 質問者は自身の状況を詳しく説明し、問題解決のためのアドバイスを希望しています。
お礼
ありがとうございます. 新たな発見があってうれしいです. 意味が同じなので図も同じということですね. なるほど・・・,**argvが本来の意味であると…. 今までの回答から,「char **argv」と「char *argv[]」のどちらで書いてあっても,同じような使い方をしても問題はないんですね? *pは間接参照だから,文字そのものなんですね. *p=a;としたら,そこの字が変わると…. argvですが,そういう感じです. argv++,*argv++,*(argv++),*(*argv++)など考えたんですが,どれが何を意味しているのか混乱してきました. もしかしたら,無効なものがあるかも…. argv[1]でやると分かりやすいですが,argvで理解したいです. argv[1]++という書き方も出来るんですね. ですが,これでプログラムを書くとビープ音の荒らしが…(汗) →while(argv[1]){argv[1]++;} こうするとOKでした. →while(*argv[1]){*argv[1]++;}