Für zwei Zeiger a
und b
, die beide auf dasselbe Objekt oder dieselbe Funktion zeigen, unter welchen Umständen garantieren die C-Standards, dass a == b
? Gibt es Plattformen, auf denen a != b
halten könnte, wenn a
und b
auf dasselbe Objekt zeigen?Wann sind Zeiger auf dasselbe Objekt gleich?
6
A
Antwort
12
Nach der C Standard (6.5.9 Gleichstellung Betreiber von N1548 Committee Draft - 2. Dezember 2010 ISO/IEC 9899: 201x)
6 Zwei Zeiger vergleichen gleich, wenn und nur wenn beide Null-Zeiger , beide sind Zeiger auf dasselbe Objekt (einschließlich einem Zeiger auf ein Objekt und ein Subobjekt an seinem Anfang) oder Funktion, beide sind Zeiger auf einer hinter dem letzten Element des gleichen Array-Objekt oder eine ist ein Zeiger auf eins nach dem Ende eines Array-Objekts und das andere ist ein Zeiger auf den Anfang eines anderen Array-Objekt, das unmittelbar folgen das erste Array-Objekt in der Adresse space.109)
Verwandte Themen
- 1. Warum weisen Zeiger auf dasselbe Objekt unterschiedliche Werte auf?
- 2. Golang: Wann Zeiger zu verwenden sind
- 3. Wann Zeiger in C++ zu verwenden sind
- 4. Was sind starke Zeiger und schwache Zeiger
- 5. C++ - Klassenkonstruktor, der einen Zeiger auf dasselbe Klassenobjekt verwendet
- 6. Zeiger auf Objekt == Zeiger auf erstes Mitglied?
- 7. Adresse des Arrays VS Zeiger auf Zeiger: Nicht gleich?
- 8. Zeiger auf das gleiche Objekt Objective-c
- 9. Wann sind zwei Spalten, die in Orakel nicht gleich aussehen?
- 10. wie überprüft man, ob zwei Zeiger auf dasselbe Objekt zeigen oder nicht?
- 11. Können mehrere Threads auf dasselbe Objekt warten?
- 12. C++ Setzen Zeiger gleich shared_ptr
- 13. Wann ist Zeiger auf Array nützlich?
- 14. Sind Session und Cookies dasselbe?
- 15. Behandelt ein eingeschlossenes JSP dasselbe implizite Objekt?
- 16. Intelligente Zeiger. Wann, wo und wie?
- 17. Prüfen, ob 2 JavaScript-Strings auf dasselbe Objekt verweisen
- 18. Sind Referenzen und Hinweise in Bezug auf Polymorphie gleich?
- 19. Sind Delegierte und Rückrufe gleich oder ähnlich?
- 20. Vergleich zwischen Variablen, die auf dasselbe Integer-Objekt zeigen
- 21. Kann Zeiger auf Referenz und Zeiger auf die aktuelle Variable gleich behandelt werden?
- 22. Test zwei Instanzen von Objekt sind gleich JUnit
- 23. Da Strings unveränderbar sind, zeigen Variablen mit identischen String-Werten auf dasselbe String-Objekt?
- 24. Zeiger Erhalten von Zeiger auf ein Mitglied zum Objekt
- 25. Wann wird svn BASE gleich dem HEAD
- 26. Sind Java "Zeiger" ganze Zahlen?
- 27. Swift Delegation - wann schwachen Zeiger auf Delegaten verwenden
- 28. Zeiger und sein Wert gleich in C
- 29. Calendar.before (Objekt wann), warum Objekt?
- 30. Zeiger verstehen. ? Was bedeutet * ((char **) gleich
Vielen Dank für Ihre Antwort auf passiert. Jemand hat mir gesagt, dass Intel Sprache zu C hinzugefügt hat, so dass 'a! = B 'auch dann gelten kann, wenn' a' und 'b' auf verschiedene Objekte zeigen. Welchen C-Standard zitieren Sie? – fuz
@ FUZxxl- 'a! = B 'wird nur gehalten, wenn an und b auf verschiedene Objekte zeigen. Ich glaube du hast falsch getippt! –
@FUZxxl Ich zitierte das folgende Dokument N1548 Komitee Draft - 2. Dezember 2010 ISO/IEC 9899: 201x –