„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Warum können Arrays in C und C ++ nicht direkt zugewiesen werden, aber in Strukturen ist es in Ordnung?

Warum können Arrays in C und C ++ nicht direkt zugewiesen werden, aber in Strukturen ist es in Ordnung?

Gepostet am 2025-04-18
Durchsuche:720

Why Can't I Directly Assign Arrays in C and C  , But I Can Within Structs?

Array -Zuweisung in C und C

c und c erlauben die Mitgliedstoffe von Arrays innerhalb von Strukturen, aber nicht im Allgemeinen. Dieses Verhalten ist ein Ergebnis der historischen Entwicklung der Sprachen.

Anfangs wurden Arrays in C als Zeiger in Erinnerung modelliert, die als "gekochte Arrays" bezeichnet werden. Wenn Strukturen eingeführt wurden, wurden Arrays innerhalb von Strukturen unterschiedlich behandelt, um die Sicherheit des Gedächtnisses zu gewährleisten. Dies ermöglichte es, dass Arrays in Strukturen zugewiesen werden, ohne die Kompatibilität mit vorhandenem Code zu beeinträchtigen.

Im Gegensatz dazu wurden die Zuordnung von Arrays außerhalb von Strukturen in Cs ursprünglichem Design nicht unterstützt. Dies lag auf Bedenken hinsichtlich des Wiederherstellens des Zeigers und der mangelnden Größeninformationen für Arrays, die als Funktionsparameter deklariert wurden. Um zu vermeiden, dass Fehler und Kompatibilitätsprobleme eingeführt werden, wurde die explizite Zuordnung unter Verwendung von MEMCPY bevorzugt.

, wie von Luther Blissett festgestellt wurde, ermöglicht die Spezifikation von C zur Strukturzuweisung ausdrücklich die Mitgliederzuordnung von enthaltenen Arrays. Dies war eine unbeabsichtigte Nebenwirkung des Designs, aber es wurde als eine Möglichkeit angenommen, Daten zu erleichtern, die in Strukturen kopieren, ohne festgelegte Muster zu brechen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3