だからあなたmyPointer
は、これらのコンテンツを持つchar型の配列を指すようになります:実際にその引数を活用
#include <stdio.h>
int main(int argc, char *argv[])
{
const char *argument = argv[1];
printf("%s\n", argument);
return 0;
}
を[0] *議論と実質的に同じです。 しかし、注意してください!
int main(int argc, char *argv[])
{
const char *argument = argv[1];
printf("%s\n", argument);
argument[2] = 'z'; //ERROR
printf("%s\n", argument);
return 0;
}
これにより、上記のエラーが予想どおりに発生します。しかし...
int main(int argc, char *argv[])
{
const char *argument = argv[1];
printf("%s\n", argument);
argv[1][2] = 'z'; //same memory location but no errors
printf("%s\n", argv[1]);
printf("%s\n", argument);
return 0;
}
エラーは発生しません....最後のprintfでは、文字列が編集されていることがわかります。
const charへのポインタはどうですか?それを 'argv [1]'で指していますか?後でargv [1]を変更する予定がない限り... – Dmitri
これは実際には素晴らしい考えです。それが最善の解決策かもしれません。 – LTClipp