Warnung: Vergleich von verschiedenen Zeiger-Typen

Durch die Erwähnung der name des array ist, erhalten wir die Basis-Adresse des Arrays ist gleich der Adresse des 0. Elements des Arrays.

Daher habe ich diese...

int main()
{
    int myArray[10] = { 1, 2 };

    if (myArray == &myArray == &myArray[0])
        printf("Address are equal!!!");

    return 0;
}

Programm nicht drucken nichts und ich bekomme die oben genannte Warnung.
Kann jemand mir helfen zu verstehen, dieses Konzept?
Danke.

  • Aktivieren Sie die Warnungen deines Compilers und zu lösen.
  • Verwenden && zu kombinieren Boolesche Ausdrücke.
  • if (myArray == (int*)&myArray && (int*)&myArray == &myArray[0])
InformationsquelleAutor Rachana Pal | 2015-07-26
Schreibe einen Kommentar