Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
据我所知,数组名称就像指向第一个元素的指针。但是:
int c[]={0,1,2}; printf("%d \t %d",c,&c[0]); //Different values,Why?
还有为什么*c=0?
*c=0
只是一个猜测:您在一个具有 64 位指针和 32 位int. 您的代码将两个指针值传递给printf,然后将它们解释为int值;这可能会将 64 位指针的两半打印为两个单独的整数。
int
printf
在将指针转换为 之后,您应该使用%p而不是打印指针。%dvoid*
%p
%d
void*