谁能解释下char *p="abcdef"; 其&p表示什么意思?
char *p = "abcdef";在内存中:
p表示什么?
*p表示什么?
&(*p)表示什么?
&p表示什么?
依我实验,p <=> &(*p)是指p这个指针变量自身所处内存地址;
*p是指常字符串"abcdef"所在内存首地址,也即字符'a'所在的内存地址; <=> p[0] <=> *(p+0)
那么&p指什么呢?或者这是个非法引用?
printf("%s",p);
既然p是指其自身所处地址(A),那里这里%s的功能就是将后面p所在内存中的内容(B)取出来再依此取出来的内容(B)做为内存地址再去寻址一遍,将得到的内容(C)打印出来?
这里,A和B为地址,C为我们最终要打印的值?