先生から課題の修正を教えてもらいましたが、そこには二重ポインタを使用するコードが含まれています。私はCIにかなり慣れていないので、コードが何をするのか理解するのが難しい. シングルポインターの基本は知っているのですが、なぜかダブルポインタールートで道に迷ってしまいます。
コード:
#include <stdio.h>
main(int argc, char** argv){
printf("\nHello ");
char** runner = argv;
++runner;
while(*(runner+2) != 0){
**runner = toupper(**runner);
printf("%s, ",*runner);
++runner;
}
**runner = toupper(**runner);
printf("%s ",*runner);
++runner;
**runner = toupper(**runner);
printf("and %s!",*runner);
}
-最初の問題は、メイン関数がダブル ポインターを使用する理由を理解することですか? - 2 番目の問題は、ダブル ポインター ランナーを初期化した後、さらに 1 つの場所を指すように指示されています。しかし、あなたが知らない場所を指しているポインタを指している場合、一体どうやってそれが指している場所を知ることができますか?
- これらの最初の 2 つのことを理解するのに問題があるため、先に進むことができず、コードがさらにどのように機能するかわかりません。
お時間をいただきありがとうございます