Per due puntatori a
e che puntano entrambi allo stesso oggetto o funzione, in quali circostanze gli standard C garantiscono che a == b
? Esistono piattaforme su cui a != b
potrebbe contenere quando a
e puntano allo stesso oggetto?Quando i puntatori allo stesso oggetto sono uguali?
6
A
risposta
12
Secondo il C standard (6.5.9 Uguaglianza operatori di Comitato N1548 Progetto - 2 DICEMBRE 2010 ISO/IEC 9899: 201x)
6 Due puntatori risultano uguali se e solo se entrambi sono puntatori nulli , entrambi sono puntatori allo stesso oggetto (incluso un puntatore a un oggetto e un oggetto secondario al suo inizio) o funzione, entrambi sono puntatori a uno dopo l'ultimo elemento dell'oggetto stesso array o uno è un puntatore a una passata alla fine di un oggetto matrice e l'altro è un puntatore per l'inizio di un oggetto array diverso che accade a seguire immediatamente il primo oggetto array nell'indirizzo space.109)
Problemi correlati
- 1. facendo numerosi puntatori NULL allo stesso tempo
- 2. Perché questi due puntatori sono uguali? Cerco il chiarimento
- 3. come verificare se due puntatori puntano allo stesso oggetto o no?
- 4. Cosa sono i puntatori potenti e i puntatori deboli
- 5. Un array di puntatori che puntano allo stesso array
- 6. ruby variabile come stesso oggetto (puntatori?)
- 7. I puntatori sono cattivi?
- 8. Controllare se tutte le variabili sono uguali allo stesso valore in C++
- 9. Ogni richiesta accede allo stesso oggetto servlet?
- 10. jQuery - oggetto e funzione allo stesso tempo?
- 11. Verificare se i letterali di stringa uguale sono memorizzati allo stesso indirizzo
- 12. Quando due enumerazioni sono uguali in C#?
- 13. === restituisce false in Nashorn quando entrambi i riferimenti devono essere rivolti allo stesso oggetto
- 14. Come P/Invoke quando sono coinvolti i puntatori
- 15. C++: quando utilizzare i puntatori?
- 16. Test di due istanze di oggetto sono uguali JUnit
- 17. Gli oggetti jQuery dello stesso elemento non sono uguali?
- 18. Ordinare i due array allo stesso modo
- 19. Le liste sono uguali ma non sono considerate uguali?
- 20. Se due cose non sono uguali, sono uguali?
- 21. Confronto tra variabili che puntano allo stesso oggetto intero
- 22. Evitare più riferimenti allo stesso oggetto in Django ORM
- 23. I puntatori intelligenti C++ sono bloccati?
- 24. R assegnare più elementi di lista allo stesso oggetto
- 25. Come faccio a verificare se due variabili fanno riferimento allo stesso oggetto in Python?
- 26. I puntatori sono tipi primitivi in C++?
- 27. Sono String [] e String ... (Var-args) uguali quando lavorano internamente?
- 28. I riferimenti o i puntatori sono più veloci?
- 29. Nothing = String.Empty (Perché sono uguali?)
- 30. Riferimenti non risolti allo stesso database Progetto
Grazie per la risposta. Qualcuno mi ha detto che Intel ha aggiunto un linguaggio a C in modo che 'a! = B' possa contenere anche se' a' e 'b' puntano a oggetti diversi. Quale standard C stai citando? – fuz
@ FUZxxl- 'a! = B' si manterrà solo se a e b puntano a oggetti diversi. Penso che tu abbia sbagliato a digitare! –
@FUZxxl Ho citato il seguente documento N1548 Bozza del Comitato - 2 dicembre 2010 ISO/IEC 9899: 201x –