Understanding the dereference, address-of, and array subscript operators in C
问题 I have argv[] defined as a char *. Using the following printf statements: 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]); // It's this last one I don't understand. What does it mean to print *argv[1] ? why isn't that the same as *argv[1][0] and how come you can't print out printf("%s\n",*argv[1]); . Also, why is &*argv[1] a different address