#include <stdio.h>
int main(int argc, char **argv) {
// your code goes here
char *p;
p = "hello";
printf("%s",*&*&p);
return 0;
}
它为p
,*&p
,*&*&p
提供相同的输出。这怎么可能?
答案 0 :(得分:1)
p是指向字符串&#34; hello&#34;的指针。 &amp; p是p的地址,所以*&amp; p将是p的地址处的值,这又是指向字符串的指针&#34;你好&#34;
答案 1 :(得分:0)
*
表示在内存中提供此位置的任何内容
&
给出了该对象的内存地址。
因此:
p
是字符串hello
的起始地址
*&p
表示向我提供p位置的任何内容(即hello
开头的地址)。
*&*&p
表示向我提供位于p
所以这些只是给你p
。