diff options
Diffstat (limited to 'de-de/c-de.html.markdown')
| -rw-r--r-- | de-de/c-de.html.markdown | 54 | 
1 files changed, 27 insertions, 27 deletions
| diff --git a/de-de/c-de.html.markdown b/de-de/c-de.html.markdown index 3dcb5ab9..9a938b22 100644 --- a/de-de/c-de.html.markdown +++ b/de-de/c-de.html.markdown @@ -75,7 +75,7 @@ int add_two_ints(int x1, int x2); // Funktionsprototyp  // Der Einstiegspunkt deines Programms ist eine Funktion mit dem Namen main und   // einem Integer als Rückgabewert. -int main(void){ +int main(void) {      // dein Programm  } @@ -87,7 +87,7 @@ int main(void){  // Argumente beinhaltet.  // argv[0] = Name des Programms  // argv[1] = erstes Argument usw. -int main (int argc, char** argv){ +int main (int argc, char** argv) {      // Ausgabe mit Hilfe von printf (print formatted)      // %d ist ein Integer.      // \n steht für eine neue Zeile @@ -303,19 +303,19 @@ int main (int argc, char** argv){      ////////////////////////////////////////////////      // Kontrollstrukturen      //////////////////////////////////////////////// -    if (0){ +    if (0) {          printf("Ich werde nie ausgeführt.");      } -    else if (0){ +    else if (0) {          printf("Ich werde auch nie ausgeführt.");      } -    else{ +    else {          printf("Ich gebe etwas aus.");      }      // While-Schleifen existieren auch      int ii = 0; -    while (ii < 10){ // JEDER Wert unter zehn ist wahr +    while (ii < 10) { // JEDER Wert unter zehn ist wahr          printf("%d, " ii++); //i++ inkrementiert ii NACHDEM der Wert gebraucht                               // wurde.      } // => gibt folgendes aus: "0, 1, 2, 3, 4, 5, 6, 7, 8, 9, " @@ -323,16 +323,16 @@ int main (int argc, char** argv){      printf("\n");      int kk = 0; -    do{ +    do {          printf("%d, ", kk); -    }while(++kk < 10); //++kk inkrementiert kk BEVOR der Wert gebraucht wurde. +    } while(++kk < 10); //++kk inkrementiert kk BEVOR der Wert gebraucht wurde.      // => gibt folgendes aus: "0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "      printf("\n");      // In C gibt es auch for-Schleifen      int jj;  -    for (jj = 0; jj < 10; jj++){ +    for (jj = 0; jj < 10; jj++) {          printf("%d, ", jj);      } // => gibt folgendes aus: "0, 1, 2, 3, 4, 5, 6, 7, 8, 9, " @@ -342,14 +342,14 @@ int main (int argc, char** argv){      // Schleifen und Funktionen müssen einen Rumpf haben. Wenn kein Rumpf gebraucht      // wird, kann folgendes gemacht werden:      int i;  -    for (i = 0; i <= 5; i++){ +    for (i = 0; i <= 5; i++) {          ; // Semikolon wird als Rumpf behandelt (Null-Anweisung)      }      // Alternativ kann auch folgendes geschrieben werden:      for (i = 0; i <= 5; i++);      // Verzweigungen mit mehreren Möglichkeiten: `switch()` -    switch (a){ +    switch (a) {          case 0: // Labels müssen integrale *konstante* Ausdrücke sein (z.B. Enums)              printf("Hey, 'a' ist gleich 0!\n");              break; //Wenn du kein break einsetzt, so geht der Kontrollfluss @@ -441,7 +441,7 @@ int main (int argc, char** argv){      int x_array[20]; // deklariert einen Array der Größe 20 (Größe kann      // nicht geändert werden.)      int xx; -    for (xx =0; xx < 20; xx++){ +    for (xx =0; xx < 20; xx++) {          x_array[xx]  20 -xx;      } // Initialisiere x_array zu 20, 19, 18, ... 2, 1 @@ -478,7 +478,7 @@ int main (int argc, char** argv){      // aus dem Heap - dies kann auf eingebetteten Systemen unterschiedlichen sein.      // Der C Standard sagt nichts darüber.)      int *my_ptr = malloc(sizeof(*my_ptr) * 20); -    for (xx = 0; xx < 20; xx++){ +    for (xx = 0; xx < 20; xx++) {          *(my_ptr + xx) = 20 -xx; //my_ptr[xx] = 20-xx      } // initialisiere Speicher zu 20, 19, 18, 17, ... 2, 1 (als `int`) @@ -497,7 +497,7 @@ int main (int argc, char** argv){      // Füge dem Array ein Element hinzu       size++;      my_array = realloc(my_array, sizeof(int) *size); -    if (my_array == NULL){ +    if (my_array == NULL) {          // Denke daran, realloc-Fehler zu prüfen          return      } @@ -538,7 +538,7 @@ int main (int argc, char** argv){  // Syntax einer Funktionsdeklaration  // <rueckgabe_wert> <funktions_name>(<args>) -int add_two_ints(int x1, int x2){ +int add_two_ints(int x1, int x2) {      return x1 + x2; // verwendet return, um einen Wert zurückzugeben  } @@ -555,14 +555,14 @@ Beispiel:  */  // Eine `void`-Funktion gibt keinen Wert zurück -void str_reverse(char *str_in){ +void str_reverse(char *str_in) {      char tmp;      size_t ii = 0;       size_t size = strlen(str_in);      // `strlen()` ist ein Teil der C Standard-Bibliothek.      // Merke: Die Länge, welche von `strlen` zurückgegeben wird, ist ohne den       // Null-Byte Terminator. -    for (ii = 0; i < size /2; ii++){ // in C99 kann man `ii` hier deklarieren. +    for (ii = 0; i < size /2; ii++) { // in C99 kann man `ii` hier deklarieren.          tmp = str_in[ii];          str_in[ii] = str_in[size - ii - 1]; //#ii'tes Zeichen vom Ende her          str_in[size - ii- 1] = tmp; @@ -579,7 +579,7 @@ printf("%s\n", c), => "tseT nie tsi saD"  // Weil wir lediglich eine Variable zurückgeben können, kann zum Ändern mehrerer  // Variablen das Konzept call-by-reference verwendet werden. -void swap_two_numbers(int *a, int *b){ +void swap_two_numbers(int *a, int *b) {      int temp = *a;      *a = *b;      *b = temp; @@ -600,9 +600,9 @@ Größe eines dynamischen Arrays herausgefunden werden kann.  */  // Die Größe des Arrays muss unbedingt mitgegeben werden.  // Sonst hat die Funktion keine Ahnung wie groß das Array ist. -void print_int_arrray(int *arr, size_t size){ +void print_int_arrray(int *arr, size_t size) {      int i; -    for (i = 0; i < size; i++){ +    for (i = 0; i < size; i++) {          printf("arr[%d] ist %d\n", i, arr[i]);      }  } @@ -615,7 +615,7 @@ print_int_array(my_array, size);  // Wenn man auf externe Variable (außerhalb der Funktion) referenziert, sollte  // man das Schlüsselwort `extern` verwenden.  int i = 0; -void test_function(){ +void test_function() {      extern int i; // i braucht nun die externe Variable i  } @@ -643,7 +643,7 @@ my_type my_type_var = 0;  // Structs sind lediglich Sammlungen von Daten, die Inhalte werden  // (in der Reihenfolge wie sie geschrieben wurden) sequentiell alloziert. -struct rectangle{ +struct rectangle {      int width;      int height;  }; @@ -653,7 +653,7 @@ struct rectangle{  // Dies ist so, weil potentiell ein Padding zwischen den Struktur-Inhalten  // möglich ist). (siehe [1, Englisch]) -void function_1(){ +void function_1() {      struct rectangle my_rectangle;      // Greife auf Struct-Inhalte mit `.` zu. @@ -674,13 +674,13 @@ void function_1(){  // Aus Bequemlichkeitsgründen ist es möglich einem `struct` ein `typedef` hinzuzufügen.  typedef struct rectangle rect; -int area(rect r){ +int area(rect r) {      return r.width * r.height;  }  // Wenn du große Structs hast, kannst du diese mit dem Pointer kopieren,   // damit große Kopiervorgänge vermieden werden. -int area_ptr(const rect *r){ +int area_ptr(const rect *r) {      return r->width * r->height;  } @@ -697,7 +697,7 @@ Wie auch immer, die Syntax kann zu Beginn verwirrend wirken.  Zum Beispiel: Verwende str_reverse von einem Pointer   */ -void str_reverse_through_pointer(char *str_in){ +void str_reverse_through_pointer(char *str_in) {      // Definiere eine Funktionspointer-Variable, welche f genannt wird.      void (*f)(char *); // Signatur sollte genau der Funktion entsprechen.      f = &str_reverse; // weise die Adresse der wirklichen Funktion zu @@ -823,7 +823,7 @@ befindet wie die C-Quelldatei.  // Strukturen und Typendefinitionen können verwendet werden, um die Konsistenz  // zwischen unterschiedlichen Dateien beizubehalten. -typedef struct Node{ +typedef struct Node {      int value;      struct Node *next;  }Node; | 
