Inhaltsverzeichnis
Basiswert == Okay?
Der Preis der Einfachheit
Sprechen wir über die Standardbibliothek
Kein Nachtrag
Heim Backend-Entwicklung C#.Net-Tutorial Die C-Sprache ist nicht einfach, selbst Programmierer sagen das, warum?

Die C-Sprache ist nicht einfach, selbst Programmierer sagen das, warum?

Aug 01, 2018 pm 04:39 PM
c语言

Die erste Sprache, die ich im College gelernt habe, war die Sprache C. Jeder, der die Sprache beruflich verwenden kann, sollte die Sprache C gelernt haben Das ist natürlich nicht der Fall. Viele Programmierer, die ich kenne, beschweren sich darüber, wie schwierig es ist, C zu lernen. Vielleicht ist die Syntax der C-Sprache auch sehr einfach Für den Einstieg geeignet. Wenn es jedoch in der Entwicklung verwendet wird, wird es in diesem Artikel ausführlich vorgestellt. Apache PHP MySQL

beginnen!

Die C-Sprache ist nicht einfach, selbst Programmierer sagen das, warum?

Basiswert == Okay?

Die C-Sprache bietet Operationen auf niedriger Ebene, wie z. B. Zeiger. Aber der größte Unterschied zwischen der C-Sprache und C++ besteht darin, dass die C-Sprache Zeiger nicht vermeiden kann, während C++ dies durch die Verwendung von STL und Smart-Pointer-Bibliotheken vollständig vermeidet. Mit anderen Worten, Zeiger in anderen Sprachen sind nur Typen, und Zeiger in der Sprache C sind Zeiger. Ich habe immer geglaubt, dass es für Anfänger ein Tabu ist, zu früh mit Zeigern in Berührung zu kommen. Anfänger müssen unterhaltsame Anwendungen erstellen, die sofortiges Feedback generieren, anstatt sich in Computersysteme zu vertiefen, die ihr Selbstvertrauen nur untergraben. Anfänger sollten sich auf die Codelogik konzentrieren und alles ausblenden, was mit der darunter liegenden Ebene zu tun hat. Lassen Sie uns eine Analogie verwenden, wenn ich Ihnen das periodische Gesetz der Elemente und das VSEPR-Modell beibringen würde, als Sie gerade Chemie lernten. Wären Sie interessiert?

Das Offenlegen der darunter liegenden Schicht ist auch aus einer anderen Perspektive schädlich, da dies eine manuelle Verwaltung des Speichers im Heap erfordert. Bei Computern geht es um einen Kompromiss. Man kann sagen, dass diese Methode eine hohe Ausführungseffizienz aufweist, aber in den meisten Fällen ist es falsch, übermäßig auf die Ausführungseffizienz zu achten und die Entwicklungseffizienz zu ignorieren. Die manuelle Speicherverwaltung ist eine Angelegenheit für erfahrene Programmierer. Wer den Speicher nicht verwalten kann, sollte sich ausschließlich auf die Funktionen der Sprache verlassen. Wenn Ihr Programm sonst in drei Tagen eine Nullzeiger-Ausnahme und in fünf Tagen einen Speicherverlust hat ? Aufleuchten? Daher ist die C-Sprache, egal aus welcher Sicht, nicht für den Einstieg geeignet.

Die C-Sprache ist nicht einfach, selbst Programmierer sagen das, warum?

Der Herausgeber empfiehlt einen Ort mit einer tollen Lernatmosphäre, C/C++ Exchange Penguin Rock: 341636727! Es eignet sich für Studenten und Berufseinsteiger, die sich beruflich verändern und über dieses Programm einen Job finden möchten. Es gibt viele Lernmaterialien im Rock, Experten beantworten Kommunikationsfragen und es gibt jeden Abend kostenlose Live-Kurse

Es gibt auch die Ansicht, dass nur die C-Sprache auf den Stapel zugreifen kann und Heap-Modelle. Es liegt mir sehr am Herzen, Ihnen mitzuteilen, dass alle nicht-skriptkompilierten Sprachen wie C++ und Swift sowie verwaltete Sprachen wie C# und Java Zugriff auf das Stack- und Heap-Modell haben können Automatischer Speicherverwaltungsmechanismus. Letzterer verwendet den Heap viel häufiger als C. Skriptsprachen verfügen auch über eigene variable Containermodelle, beispielsweise zval von PHP. Diese Schuld sollte nicht auf Programmiersprachen, sondern auf heimischen Schrottlehrbüchern lasten. Es ist auch ersichtlich, dass das Stapelmodell der C-Sprache nicht universell anwendbar ist. Wenn Sie es auf andere Sprachen anwenden, funktioniert es möglicherweise nicht. Aber einige Leute bestehen darauf, es als Grundlage für das Erlernen anderer Programmiersprachen zu verwenden, was wirklich lächerlich ist.

Der Preis der Einfachheit

Die C-Sprache bietet keine Kapselung und Abstraktion auf hoher Ebene einiger gemeinsamer Komponenten. Wenn Sie beispielsweise eine Hash-Tabelle verwenden, müssen Sie selbst eine erstellen oder online suchen, um zu sehen, ob es vorgefertigte Codes gibt. Dies ist für Entwickler sehr unfreundlich. Da es so etwas in der C-Sprachstandardbibliothek nicht gibt, wird es beim Lernen überhaupt nicht erwähnt. Dies hat dazu geführt, dass viele Leute nicht einmal wissen, dass so etwas existiert, und sie können nur starren, wenn sie auf Probleme stoßen. Die einzigen von der C-Sprache unterstützten Container sind native Arrays, und Zeichenfolgen werden mithilfe nativer Zeichenarrays implementiert, sodass die Verarbeitung von Zeichenfolgen sehr, sehr schwach ist. Wenn Sie einen Code für die Zeichenfolgenverkettung schreiben möchten, benötigt er eine Zeile in Java und mehrere Zeilen in der Sprache C. Dies ist der Preis für die „Einfachheit“ der C-Sprache.

Die Einfachheit der C-Sprache ist genau das Ergebnis des Weglassens der nativen Unterstützung von OO. Ich habe oben die native Unterstützung erwähnt, weil die Sprache C immer noch OO mithilfe von Kombinationen implementieren kann, z. B. Vererbung mithilfe von Kombinationen, virtuelle Funktionen mithilfe von Zeigerfunktionsmitgliedern usw. In Bezug auf OO ist die C-Sprache viel schwieriger zu implementieren als C++. Ein Schlüsselwort in C++ entspricht einigen Codezeilen in der C-Sprache. Wie kann man es als einfach bezeichnen? Unabhängig davon, ob OO gut oder schlecht ist, ist es mittlerweile ein gängiges Sprachparadigma in der Branche und spielt genau wie Englisch in natürlicher Sprache eine entscheidende Rolle. Wenn Sie sich nicht damit in Verbindung setzen, werden Sie in Zukunft bei der Jobsuche benachteiligt sein. Aber ist OO wirklich kompliziert? Wenn Sie ein Java-Buch lesen, werden Sie höchstens zwei Kapitel damit verbringen, diese Dinge vorzustellen, eines über Klassen und das andere über Schnittstellen. Andere Sprachen, die nicht so OO sind, verbringen einfach ein Kapitel, nur um Ihnen zu sagen, dass es eine Klasse gibt, und diese Länge entspricht fast der Struktur und Aufzählung im C-Sprach-Tutorial.

Die „Einfachheit“ der C-Sprache bedeutet, dass Sie in der tatsächlichen Entwicklung mehr manuelle Vorgänge anstelle eines Compilers ausführen müssen. Ich denke, Gott ist fair. Wenn er anderen Sprachen mehr Sprachfunktionen gibt, wird er ihnen auch eine höhere Entwicklungseffizienz verleihen.

Die C-Sprache ist nicht einfach, selbst Programmierer sagen das, warum?

Sprechen wir über die Standardbibliothek

Der Grund, warum das C-Sprachbuch dünn ist, liegt nicht darin, dass es keine OO-Dinge gibt , aber der Standardbibliothek fehlen einige moderne Komponenten, diese Dinge sind alle in Posix. Über C-Sprache ohne Posix-API zu sprechen, ist nur ein Rowdy. Es gibt keinen Mangel an gemeinsamen Komponenten oder Einrichtungen, wenn es um die C-Sprache geht. Aufgrund der modernen Programmausführungsumgebung und -anforderungen kann man ohne diese Dinge nichts schreiben. Von den fünf großen Bibliotheken moderner Programmiersprachen (Strings, Container, IO, Threads und Netzwerke) fehlen in der Sprache C nur zwei. Was die beiden letztgenannten betrifft, müssen C-Sprachentwickler die Posix-API verwenden und dann das API-Inkompatibilitätsproblem lösen. Die Vorteile der C-Sprachstandardbibliothek werden ohne Posix zur Hälfte deaktiviert. Und wer Posix verstehen will, muss „apue“ lesen. Wenn Sie mir sagen, dass die C-Sprache einfach ist, sagen Sie mir, dass sie einfach ist, nachdem Sie das dicke Buch „Apue“ gelesen haben.

Kein Nachtrag

Wir lernen eine Programmiersprache nicht, um uns auf Prüfungen vorzubereiten, sondern um tatsächlich Dinge zu machen. Eine Sprache wie C, die keine Container, keine Strings, keine Vorlagen, keine Ausnahmen und kein RAII hat. Sie stellt alle ihre eigenen Räder her und verfügt über keine Funktionen moderner Programmiersprachen. Sie ist äußerst kompliziert, wenn sie tatsächlich verwendet wird. Leider habe ich keine Zeit, die Implementierung der einzelnen Funktionen oder Klassen in der C-Sprache zu untersuchen. Ich verwende dennoch gerne kürzeren Code, um meine Logik auszudrücken.

Ende:

Nachdem Sie dies gelesen haben, können Sie sehen, wo einfach ist? Ist es einfach, Spielzeugprogramme zu schreiben? Wie auch immer, ich denke, es sieht sehr kompliziert aus, nicht so, wie es aussah, als ich auf dem College war. Vielleicht habe ich damals eine falsche C-Sprache gelernt.

Verwandte Artikel:

10 C-Sprachressourcen, die Sie zu einem besseren Programmierer machen können

C-Sprache 10 Ein klassischer Kleiner Programm

Ähnliche Videos:

C-Sprach-Tutorial

Das obige ist der detaillierte Inhalt vonDie C-Sprache ist nicht einfach, selbst Programmierer sagen das, warum?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

C Sprachdatenstruktur: Datenrepräsentation und Betrieb von Bäumen und Grafiken C Sprachdatenstruktur: Datenrepräsentation und Betrieb von Bäumen und Grafiken Apr 04, 2025 am 11:18 AM

C Sprachdatenstruktur: Die Datenrepräsentation des Baumes und des Diagramms ist eine hierarchische Datenstruktur, die aus Knoten besteht. Jeder Knoten enthält ein Datenelement und einen Zeiger auf seine untergeordneten Knoten. Der binäre Baum ist eine besondere Art von Baum. Jeder Knoten hat höchstens zwei Kinderknoten. Die Daten repräsentieren structTreenode {intdata; structTreenode*links; structTreenode*rechts;}; Die Operation erstellt einen Baumtraversalbaum (Vorbereitung, in Ordnung und späterer Reihenfolge) Suchbauminsertion-Knoten Lösches Knotendiagramm ist eine Sammlung von Datenstrukturen, wobei Elemente Scheitelpunkte sind, und sie können durch Kanten mit richtigen oder ungerechten Daten miteinander verbunden werden, die Nachbarn darstellen.

Die Wahrheit hinter dem Problem der C -Sprachdatei Die Wahrheit hinter dem Problem der C -Sprachdatei Apr 04, 2025 am 11:24 AM

Die Wahrheit über Probleme mit der Dateibetrieb: Dateiöffnung fehlgeschlagen: unzureichende Berechtigungen, falsche Pfade und Datei besetzt. Das Schreiben von Daten fehlgeschlagen: Der Puffer ist voll, die Datei ist nicht beschreibbar und der Speicherplatz ist nicht ausreichend. Andere FAQs: Langsame Dateitraversal, falsche Textdateicodierung und Binärdatei -Leser -Fehler.

C Sprach -Multithread -Programmierung: Ein Anfängerleitfaden und Fehlerbehebung C Sprach -Multithread -Programmierung: Ein Anfängerleitfaden und Fehlerbehebung Apr 04, 2025 am 10:15 AM

C Sprachmultithreading -Programmierhandbuch: Erstellen von Threads: Verwenden Sie die Funktion pThread_create (), um Thread -ID, Eigenschaften und Threadfunktionen anzugeben. Threadsynchronisation: Verhindern Sie den Datenwettbewerb durch Mutexes, Semaphoren und bedingte Variablen. Praktischer Fall: Verwenden Sie Multi-Threading, um die Fibonacci-Nummer zu berechnen, mehrere Threads Aufgaben zuzuweisen und die Ergebnisse zu synchronisieren. Fehlerbehebung: Lösen Sie Probleme wie Programmabstürze, Thread -Stop -Antworten und Leistungs Engpässe.

Wie man einen Countdown in der C -Sprache ausgibt Wie man einen Countdown in der C -Sprache ausgibt Apr 04, 2025 am 08:54 AM

Wie gibt ich einen Countdown in C aus? Antwort: Verwenden Sie Schleifenanweisungen. Schritte: 1. Definieren Sie die Variable N und speichern Sie die Countdown -Nummer in der Ausgabe. 2. Verwenden Sie die while -Schleife, um n kontinuierlich zu drucken, bis n weniger als 1 ist; 3. Drucken Sie im Schleifenkörper den Wert von n aus; 4. Am Ende der Schleife subtrahieren Sie N um 1, um den nächsten kleineren gegenseitigen gegenseitigen gegenseitigen gegenseitig auszugeben.

CS-Woche 3 CS-Woche 3 Apr 04, 2025 am 06:06 AM

Algorithmen sind die Anweisungen zur Lösung von Problemen, und ihre Ausführungsgeschwindigkeit und Speicherverwendung variieren. Bei der Programmierung basieren viele Algorithmen auf der Datensuche und Sortierung. In diesem Artikel werden mehrere Datenabruf- und Sortieralgorithmen eingeführt. Die lineare Suche geht davon aus, dass es ein Array gibt [20.500,10,5,100, 1,50] und die Nummer 50 ermitteln muss. Der lineare Suchalgorithmus prüft jedes Element im Array Eins nach eins nach dem anderen, bis der Zielwert gefunden oder das vollständige Array durchquert wird. Der Algorithmus-Flussdiagramm lautet wie folgt: Der Pseudo-Code für die lineare Suche lautet wie folgt: Überprüfen Sie jedes Element: Wenn der Zielwert gefunden wird: Return Return Falsch C-Sprache Implementierung: #includeIntmain (void) {i

C Sprachdatenstruktur: Die Schlüsselrolle von Datenstrukturen in der künstlichen Intelligenz C Sprachdatenstruktur: Die Schlüsselrolle von Datenstrukturen in der künstlichen Intelligenz Apr 04, 2025 am 10:45 AM

C Sprachdatenstruktur: Überblick über die Schlüsselrolle der Datenstruktur in der künstlichen Intelligenz im Bereich der künstlichen Intelligenz sind Datenstrukturen für die Verarbeitung großer Datenmengen von entscheidender Bedeutung. Datenstrukturen bieten eine effektive Möglichkeit, Daten zu organisieren und zu verwalten, Algorithmen zu optimieren und die Programmeffizienz zu verbessern. Gemeinsame Datenstrukturen, die häufig verwendete Datenstrukturen in der C -Sprache sind: Arrays: Eine Reihe von nacheinander gespeicherten Datenelementen mit demselben Typ. Struktur: Ein Datentyp, der verschiedene Arten von Daten zusammen organisiert und ihnen einen Namen gibt. Linked List: Eine lineare Datenstruktur, in der Datenelemente durch Zeiger miteinander verbunden werden. Stack: Datenstruktur, die dem LEST-In-First-Out-Prinzip (LIFO) folgt. Warteschlange: Datenstruktur, die dem First-In-First-Out-Prinzip (FIFO) folgt. Praktischer Fall: Die benachbarte Tabelle in der Graphentheorie ist künstliche Intelligenz

Das Konzept der C -Sprachfunktionen und dessen Definitionsformat Das Konzept der C -Sprachfunktionen und dessen Definitionsformat Apr 03, 2025 pm 11:33 PM

C -Sprachfunktionen sind wiederverwendbare Codeblöcke, empfangen Parameter für die Verarbeitung und die Rückgabeergebnisse. Es ähnelt dem schweizerischen Armeemesser, mächtig und erfordert sorgfältige Verwendung. Funktionen umfassen Elemente wie das Definieren von Formaten, Parametern, Rückgabetwerten und Funktionskörpern. Die erweiterte Verwendung umfasst Funktionszeiger, rekursive Funktionen und Rückruffunktionen. Häufige Fehler sind Fehlanpassung vom Typ und Vergessen, Prototypen zu deklarieren. Zu den Debugging -Fähigkeiten gehören das Druckvariablen und die Verwendung eines Debuggers. Leistungsoptimierung verwendet Inline -Funktionen. Das Funktionsdesign sollte dem Prinzip der einzigen Verantwortung folgen. Kenntnisse in C -Sprachfunktionen können die Programmierungseffizienz und die Codequalität erheblich verbessern.

C Sprache Bedingte Zusammenstellung: Ein detaillierter Leitfaden für Anfänger zu praktischen Anwendungen C Sprache Bedingte Zusammenstellung: Ein detaillierter Leitfaden für Anfänger zu praktischen Anwendungen Apr 04, 2025 am 10:48 AM

C-Sprachbedingungskompilation ist ein Mechanismus zum selektiven Kompilieren von Codeblöcken, die auf Kompilierungszeitbedingungen basieren. Zu den Einführungsmethoden gehören: Verwenden von #IF- und #else -Direktiven, um Codeblöcke basierend auf den Bedingungen auszuwählen. Zu den häufig verwendeten bedingten Ausdrücken gehören STDC, _win32 und Linux. Praktischer Fall: Drucken Sie verschiedene Nachrichten entsprechend dem Betriebssystem. Verwenden Sie unterschiedliche Datentypen gemäß der Anzahl der Ziffern des Systems. Verschiedene Header -Dateien werden gemäß dem Compiler unterstützt. Die bedingte Kompilierung verbessert die Portabilität und Flexibilität des Codes und macht es an den Compiler-, Betriebssystem- und CPU -Architekturänderungen anpassbar.

See all articles