【发布时间】:2017-01-15 17:57:11
【问题描述】:
我将 argv[] 定义为 char *。使用以下 printf 语句:
printf("%s\n",argv[1]); // prints out the entire string
printf("%p\n",&argv[1]); // & -> gets the address
printf("%c\n",argv[1][0]);// prints out the first char of second var
printf("%c\n",*argv[1]); //
这是我不明白的最后一个。打印*argv[1] 是什么意思?为什么和*argv[1][0] 不一样,为什么不能打印出printf("%s\n",*argv[1]);。另外,为什么&*argv[1] 和&argv[1] 的地址不同?
【问题讨论】:
-
阅读
char*tag page可能会对您有所帮助。关于argc和argv,也许还有this question。 -
理解char*不是问题,而是指针问题
-
@user3655463:看到 OP 想取消对
argv[1][0]的引用,我不同意。
标签: c pointers c-strings argv char-pointer