vergleichen Sie zwei gleiche Arrays in c, aber die Ausgabe zeigt ungleiche

Nach einer langen Pause,bin ich zurück zu C, aber immer verwirrt, noch auf einige einfache Fragen.
So ist man hier.

Ist hier der einfache code :

 #include<stdio.h>

 int main() {

    char str1[]="hello";
    char str2[]="hello";

    if(str1==str2)
            printf("equal");  
    else
            printf("unequal");
} 

Ausgabe:
ungleiche

aber wenn ich dies ausprobiert ,es funktionierte

  char *str1="hello";
  char *str2="hello";

Ausgabe
gleich

Bitte wenn jemand eine ausführliche Erklärung dafür.
Kann mir jemand sagen was genau macht der C99-standard zu dieser situation sagen ???

mögliche Duplikate von Warum ist "a" != "a" in C?
danke, dass war die post ich war eigentlich auf der Suche nach, aber ich konnte es nicht aus..das ist wirklich sehr hilfreich

InformationsquelleAutor Udit Gupta | 2012-01-12

Schreibe einen Kommentar