Die 25 häufigsten Fragen und Antworten zu C-Interviews [für Studienanfänger]
Veröffentlicht: 2020-12-18C ist eine leistungsstarke Allzweck-Programmiersprache, die prozedurale, imperative und strukturierte Paradigmen unterstützt. Es wird zur Entwicklung von Betriebssystemen, Datenbanken und Anwendungssoftware für eine Vielzahl von Computerarchitekturen (SPS, eingebettete Systeme usw.) verwendet. C ist eine ausgezeichnete anfängerfreundliche Sprache mit einer leichten Lernkurve.
Jeder, der eine Karriere in der Softwareentwicklung anstrebt, muss die Grundlagen von C beherrschen. Sobald Sie das Wesentliche der Programmiersprache C gelernt haben, sind Sie bereit für das C-Interview!
In diesem Blog führen wir Sie durch einige der am häufigsten gestellten C-Interviewfragen. Typischerweise beginnt ein Vorstellungsgespräch mit dem Testen Ihrer Grundkenntnisse des Fachs (in diesem Fall der Programmiersprache C) und geht nach und nach dazu über, Ihre praktischen Fähigkeiten in diesem Bereich zu erforschen.
Schauen wir uns also ohne weiteres die 25 am häufigsten gestellten C-Interviewfragen an!
C Interviewfragen & Antworten
- Was sind die Kernfunktionen von C?
Die Programmiersprache C ist:
- Mittelstufe – C kombiniert die besten Eigenschaften von Low-Level- und High-Level-Sprachen, um eine verfeinerte Programmiersprache auf mittlerer Ebene zu erstellen.
- Strukturiert – C ist eine strukturierte Sprache, was bedeutet, dass C-Programme in mehrere Teile unterteilt sind.
- Portabel – Sobald Sie ein Programm in C geschrieben haben, können Sie es mit minimalen oder keinen Änderungen auf jedem Computer ausführen.
- Schnell – C verwendet eine Auswahl an Datentypen und Operatoren, wodurch es sehr schnell und effizient ist.
- Erweiterbar – C ist in hohem Maße erweiterbar, da es sich nahtlos an neue Funktionen anpassen kann.
- Speicherverwaltung – C hat eine eingebaute Speicherfunktion, die Speicher spart und die Effizienz des C-Programms verbessert.
- Welche Datentypen unterstützt C?
C hat vier Kategorien von Datentypen:

- Basisdatentyp
- Abgeleiteter Datentyp
- Aufgezählter Datentyp
- Ungültiger Datentyp
- Erklären Sie „Dangling Pointer Variable“ in C-Sprache.
In der C-Programmierung zeigt ein Zeiger den Speicherplatz oder die Adresse einer vorhandenen Variablen an. Wenn diese Variable jedoch gelöscht wird und der Zeiger auf dieselbe Speicherstelle verweist, wird sie als Dangling-Pointer-Variable bezeichnet.
- Was ist ein „Zeiger auf Zeiger“?
Ein „Zeiger auf Zeiger“ bezieht sich auf eine Zeigervariable, die die Adresse einer anderen Zeigervariablen enthält. Im Wesentlichen dereferenziert der Zeiger zweimal, um die Daten anzuzeigen, die in der bezeichneten Zeigervariablen enthalten sind.
- Definiere ein „Array“.
Ein Array ist eine Datenstruktur, die mehrere Elemente desselben Datentyps auf organisierte Weise enthält. Es gibt normalerweise drei Arten von Arrays: eindimensional, zweidimensional und dreidimensional.
- Was ist eine statische Variable? Warum werden in C statische Variablen verwendet?
Eine statische Variable ist eine Variable, die durch das Schlüsselwort „Static“ deklariert wird. Eine statische Variable behält ihren Wert zwischen mehreren Funktionsaufrufen.
Die statische Variable wird als gemeinsamer Wert verwendet, der von allen Methoden geteilt wird, und wird nur einmal im Speicherheap initialisiert, um die Speichernutzung zu reduzieren. Während die statische Variable anfänglich auf Null initialisiert wird, wird der aktualisierte Wert zugewiesen, wenn Sie den Wert einer Variablen aktualisieren.
- Definieren Sie den „Geltungsbereich“ einer Variablen.
Der Gültigkeitsbereich einer Variablen bezieht sich auf den Teil des Codes (Funktion), in dem die Variable deklariert wird. In der Programmiersprache C sind alle Bezeichner entweder statisch oder lexikalisch begrenzt.
- Was ist dynamische Speicherzuweisung?
Dynamische Speicherzuordnung ist der Vorgang, bei dem dem C-Programm und seinen Variablen während der Laufzeit Speicher zugewiesen wird. Während malloc(), calloc() und realloc() Speicher zuweisen, gibt die Funktion free() den belegten Speicherplatz frei.
Lesen Sie : Fragen und Antworten zu SQL-Interviews
- Erklären Sie den Unterschied zwischen den Funktionen calloc() und malloc().
In C sind sowohl calloc() als auch malloc() Speicherzuweisungsfunktionen, die Speicher aus dem Heap-Bereich (dynamischer Speicher) zuordnen. Der Hauptunterschied zwischen den beiden Speicherallokationsfunktionen besteht darin, dass calloc() alle zugewiesenen Speicherplätze mit dem Wert 0 lädt, während malloc() dies nicht tut.
- Erklären Sie „Statische Speicherzuweisung“.
Im Gegensatz zur dynamischen Speicherzuordnung, die zur Laufzeit Speicher zuweist, weist die statische Speicherzuordnung den Speicher während der Kompilierung zu. Mit der statischen Speicherzuweisung können Sie die Speicherzuweisung nicht erhöhen, während das C-Programm ausgeführt wird. Sie können den statischen Speicher mit Stacks/Heap implementieren und den Speicher mit dem Schlüsselwort „Static“ zuweisen. Im Allgemeinen erfordert die statische Speicherzuweisung mehr Speicherplatz zum Speichern von Variablen als die dynamische Speicherzuweisung.
- Nennen Sie einige C-Tokens?
Ein Token ist eine Kennung. Es ist normalerweise die kleinste Einheit in einem C-Programm. Konstanten, Zeichenfolgen, Schlüsselwörter, Operatoren, Bezeichner und Sonderzeichen sind einige C-Tokens, die beim Schreiben von C-Programmen verwendet werden.
- Wird ein C-Code ohne eine main()-Funktion kompiliert oder ausgeführt?
In Ermangelung einer main()-Funktion wird das C-Programm kompiliert, anstatt ausgeführt zu werden, da die main()-Funktion obligatorisch ist, um jedes C-Programm auszuführen.
- Definieren Sie eine „verschachtelte Struktur“.
Eine verschachtelte Struktur wird erstellt, wenn ein Element oder Datenelement einer Funktion ein Datenelement einer anderen Struktur enthält.

- Unterscheiden Sie zwischen tatsächlichen und formalen Parametern.
Tatsächliche Parameter werden von der primären Funktion an die unterteilte Funktion gesendet, und die als unterteilte Funktion deklarierten Parameter werden als formale Parameter bezeichnet.
- Was ist eine Präprozessordirektive?
Eine Präprozessordirektive ist eine eingebaute vordefinierte Funktion, die als Anweisung an den Compiler fungiert, bestimmte Aufgaben auszuführen, bevor der Kompilierungsprozess beginnt. Daher wird eine Präprozessordirektive immer ausgeführt, bevor ein C-Programm ausgeführt wird.
- Definieren Sie „Befehlszeilenargumente“.
Die Argumente, die während der Ausführung eines C-Programms an die Funktion main() übergeben werden, werden als Befehlszeilenargumente bezeichnet. Das erste Argument gibt die Anzahl der Argumente an und wird vom Betriebssystem automatisch aktualisiert. Das zweite Argument (ein Array von Zeichenzeigern) enthält immer Strings als Parameter.
- Wie kann man Funktionen parametrieren?
Es gibt zwei Möglichkeiten, Funktionen Parameter zuzuweisen:
- Aufruf nach Wert – Diese Methode wird nur gewählt, wenn Sie die tatsächlichen Parameter nicht mit formalen Parametern ändern möchten, sodass Sie nur eine Kopie der Werte als Parameter an Funktionen senden.
- Call by Reference – Bei diesem Ansatz senden Sie die Adresse der tatsächlichen Parameter, um sie mithilfe von formalen Parametern zu ändern.
Sehen Sie sich an: Interviewfragen für Full-Stack-Entwickler
- Was ist eine „Union“ in C?
In C ist eine Union ein benutzerdefinierter Datentyp, der mehrere Datentypen in einer einzigen Einheit speichern kann. Es enthält nur den Speicher des größten Mitglieds statt des Gesamtspeichers aller Mitglieder. Da eine Union allen Mitgliedern einer Union einen gemeinsam genutzten Speicherplatz zuweist, können Sie in einer Union jeweils nur auf eine Variable zugreifen.
- Erklären Sie „Rekursion“.
Rekursion ist, wenn eine Funktion sich selbst aufruft, und die Funktion, die sich selbst aufruft, wird als rekursive Funktion bezeichnet. Eine rekursive Funktion tritt in zwei Stufen auf:
- Wickelphase – Wenn eine rekursive Funktion sich selbst aufruft und die gewünschte Bedingung erfüllt, endet die Wickelphase.
- Abwickelphase – Sobald die Aufwickelphase erreicht ist, wird die Abwickelphase eingeleitet, indem die Steuerung an den ursprünglichen Anruf zurückgegeben wird.
- Wie deklariert man eine Funktion in C?
Sie können eine Funktion in C wie folgt deklarieren:
return_type function_name (formale Parameterliste)
{
Function_Body;
}
- Was macht die Funktion sprintf()?
Die Funktion sprintf() wird zum Drucken von Strings verwendet. Es ruft die Gesamtzahl der Zeichen in einer Zeichenfolge ab. Diese Funktion überträgt die Daten in den Puffer und druckt daher die Ausgabe nicht auf dem Bildschirm. Die Syntax der Funktion sprintf() lautet:
int sprintf ( char * str, const char * format, … );
- Unterscheiden Sie zwischen getch()- und getche()-Funktionen?
In einem C-Programm liest die Funktion getch() ein einzelnes Zeichen aus dem Schlüsselwort. Da es keinen Puffer verwendet, werden die von Ihnen eingegebenen Daten nicht auf dem Bildschirm angezeigt. Im Gegensatz dazu liest die Funktion getche() zwar auch ein einzelnes Zeichen aus dem Schlüsselwort, zeigt aber die Daten auf dem Bildschirm an.
- Was ist „Rvalue“ und „Ivalue“?
Rvalue ist der Ausdruck, der auf der rechten Seite des Zuweisungsoperators liegt. Er wird dem I-Wert zugewiesen, der auf dem Zuweisungsoperator liegt. Der lvalue darf sich nur auf eine Variable und nicht auf eine Konstante beziehen.
- Nennen Sie die verschiedenen Speicherklassenbezeichner in C.
In C gibt es vier Speicherbezeichner:

- Auto
- Statisch
- Registrieren
- Extern
- Gibt es einen Unterschied zwischen dem Deklarieren einer Header-Datei mit „“ und < >?
Wenn Sie eine Header-Datei mit „ “ deklarieren, sucht der Compiler nach der Header-Datei im aktuellen Arbeitsverzeichnis, und wenn er die Datei dort nicht findet, sondiert er andere Orte, um die Header-Datei zu finden. Wenn Sie die Header-Datei jedoch mit < > deklarieren, sucht der Compiler nach der Datei nach dem eingebauten Pfad.
Schauen Sie sich an: 15 Interview-Tipps, um sich in Ihrem Vorstellungsgespräch abzuheben
Melden Sie sich für Software Engineering-Kurse an den besten Universitäten der Welt an. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.
Fazit
Also, los geht's: 25 C-Interviewfragen und -antworten, die Ihnen helfen, sich auf Ihr nächstes Vorstellungsgespräch vorzubereiten. Obwohl diese Fragen nur an der Oberfläche der C-Programmierung kratzen, geben sie Ihnen hoffentlich eine Vorstellung davon, worauf Sie sich in C-Interviews freuen können!
Wenn Sie mehr über Full-Stack-Softwareentwicklung erfahren möchten, schauen Sie sich das Executive PG-Programm in Full-Stack-Softwareentwicklung von upGrad & IIIT-B an, das für Berufstätige konzipiert ist und mehr als 500 Stunden strenge Schulungen, mehr als 9 Projekte und mehr bietet Aufgaben, IIIT-B-Alumni-Status, praktische praktische Schlusssteinprojekte und Arbeitsunterstützung bei Top-Unternehmen.

