Wie die Leerzeigerarithmetik in GCC abläuft

int main()  
{  
    int a;  
    void *p;  
    p = &a;  
    printf("%ld\n",(long)p);  
    p = p+1;  
    printf("%ld\n",(long)p);  
}  

In diesem Programmp+1 erhöht nur den Wert von p um 1. Ich weißvoid pointer arithmetic ist nicht möglich inC, soGCC tut es implizit. Und wenn ja, dann ist es sochar pointer. Auch warumdereferencing ist für void pointer nicht möglich, wenn implizit Zeigerarithmetik ausgeführt wird.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage