printf函数中输出列表的相关问题
在程序 char str[]="abcdefg",*p=str;int i;
printf("%c\n",*p);
中,我知道printf函数中的*p作为字符数组STR的地址(即字母a的地址),输出的结果是STR首元素a。
若将printf函数中的%c改为%s,程序会出错,只能是改为
char str[]="abcdefg",*p=str;
int i;
printf("%s\n",p);
其输出的结果是abcdefg
我想知道此时printf函数中的p是作为数组STR的地址还是其他的什么?如果P是STR的地址,那又是为什么
还有就是printf函数中的输出列表是不是写你想要输出的对象的地址?
关于这方面的有没有什么比较有权威的文章呢,求教。。。。