这可能是一个愚蠢的问题,但我对C指针的理解有点问题.在阵列方面更是如此.例如:
char ptr[100];
ptr[0]=10;
fprintf(stderr, "&ptr: %p \n ptr: %p \n*ptr: %d\n", &ptr, ptr, *ptr);
if ( &ptr == ptr ) {
fprintf(stderr, "Why?\n");
}
Run Code Online (Sandbox Code Playgroud)
这怎么可能呢?'ptr'位于adress&ptr.并且ptr的内容与&ptr相同.那为什么*ptr = 10 ???