Ich suche Antworten auf meine Fragen die bei einem Online-Kurs zur Programmiersprache C bei mir aufkamen, kann mir jemand helfen?

...komplette Frage anzeigen

4 Antworten

  1. Nichts. Sie hat keinen Rückgabewert.
  2. Die lokale "verdeckt" die globale ("shadowing").
  3. Mit arr[49]. Der Index in arr[n] geht von 0 bis n - 1.
  4. Sie muss in jedem Fall vorher deklariert werden. Diese Deklaration kann entweder über eine Funktionsdefinition oder aber durch einen so genannten Funktionsprototypen erfolgen. In letzterem Fall kann die Funktionsdefinition dann auch nach dem Aufruf stehen. Also "richtigerweise" wäre die Antwort "nein", sie muss nicht vor Benutzung definiert werden. Sie muss lediglich vor Benutzung deklariert werden.
Antwort bewerten Vielen Dank für Deine Bewertung

1. Eine void Funktion gibt nichts zurück. Bei anderen Sprachen wird so etwas "Unterprozedur" genannt. Also einfach nur was, was abgearbeitet wird, aber keinen Wert zurückgeben muss

2. In der Funktion oder Klasse, wo die lokale Variable deklariert ist, wird die lokale Variable benutzt. Außerhalb wird dann die globale Variable benutzt.

3. Meinst du auf den letzten Wert des Arrays? Das Array ist 50 Werte groß. Die Nummerierung startet aber bei 0. Also der erste Wert ist arr[0] und der letzte Wert ist arr[49]

4. Meinst du damit, ob die Funktion, die du aufrufen willst, im Code vor der Zeile steht, in der die Funktion aufgerufen wird? Oder meinst du eher, dass du einen neuen Funktionsnamen aufrufen willst und erst nachträglich die Funktion dazu schreibst?

Das erstere kann ich dir leider aus dem Kopf nicht beantworten, dafür ist meine C-Erfahrung schon zu lange her. Soweit ich weiß, ist es aber egal ob die Funktion im Code vor oder hinter der aufrufenden Codezeile steht.

Zum zweiten: Du kannst natürlich schonmal eine Zeile schreiben, in der ein Funktionsname steht, der noch nicht vorhanden ist. Compilieren lässt sich das aber erst, wenn die Funktion dazu auch da ist.

Antwort bewerten Vielen Dank für Deine Bewertung

das Meiste wurde schon richtig beantwortet...

1. nichts
2. die lokale
3. arr[49] (indices gehen von 0 bis 49 = 50 Elemente)

4. das kommt darauf an, wo die Funktion deklariert ist !!!
in einer Klasse "muss" sie definiert werden !!!
ist es eine öffentliche Funktion (nicht in einer Klasse) kommt es darauf an wo die Deklaration steht und wo Du die Funktion aufrufen willst...
ist sie "vor" dem Aufruf deklariert, muss sie nicht vorher definiert werden...
rufst Du sie aber vor der Deklaration (ist sie "nach" dem Aufruf deklariert) muss sie vorher definiert werden !!!


Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von NoHumanBeing
04.12.2015, 16:04

in einer Klasse "muss" sie definiert werden !!!

C ist eine prozedurale Sprache, keine objektorientierte Sprache. In C gibt es keine Klassen.

0

1. liefert keinen Wert zurück

2. die lokale

3. arr[49]    (50 Elemente und man beginnt mit Index 0)

4. Ja

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?