据我所知,数组名称就像指向第一个元素的指针.但是:
int c[]={0,1,2};
printf("%d \t %d",c,&c[0]); //Different values,Why?
Run Code Online (Sandbox Code Playgroud)
还有为什么*c=0呢?
Fre*_*Foo 11
只是一个猜测:你是在一个64位指针和32位的平台上int.你的代码传递两个指针值printf,然后将它们解释为int值; 这可能会将64位指针的两半打印为两个单独的整数.
您应该在将它们转换为之后打印指针%p,而不是打印指针.%dvoid*