Listen in C/C++



  • Dieser Thread wurde von Moderator/in volkard aus dem Forum C++ in das Forum ANSI C verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Jolender Hüter schrieb:

    1. Du kompilierst das mit dem "Visual C++ 2008 Express Edition" wie du schreibst, also scheinst du doch irgendwo C++ machen zu wollen.

    In Visual C++ 2008 Express Edition kann man angeben, ob als C++ oder C kompiliert werden soll. Bei mir im Institut gibt es auch viele Kollegen, die C mit Visual C++ schreiben.



  • simex schrieb:

    Und was ist falsches C?

    Damit meint man meistens einen Quelltext, der nicht ohne Fehler durch den Compiler geht.
    🙂



  • simex schrieb:
    Und was ist falsches C?

    Damit meint man meistens einen Quelltext, der nicht ohne Fehler durch den Compiler geht.

    Hier aber wohl nicht 😃



  • DarkShadow44 schrieb:

    Hier aber wohl nicht 😃

    Weil...?



  • sorry, wirkte vielleicht ein bisschen herablassend. Aber die ganze C und C++ Verwechselei ist ein bisschen nervig. Sollte nicht böse gemeint sein.

    Wegen dem malloc, siehe http://www.c-plusplus.net/forum/viewtopic.php?t=206606



  • rüdiger schrieb:

    sorry, wirkte vielleicht ein bisschen herablassend. Aber die ganze C und C++ Verwechselei ist ein bisschen nervig. Sollte nicht böse gemeint sein.

    Naja, der Seitenbetriber machts ja auch offiziell.

    <title>C/C++ Forum :: Index</title>
    


  • DarkShadow44 schrieb:
    Hier aber wohl nicht

    Weil...?

    ...man unkompiliert keine Ausgabe bekommt 😃



  • > Naja, der Seitenbetriber machts ja auch offiziell.

    Naja, aber selbst Herr Struppi macht da eine feine Unterscheidung. :xmas1:

    <a href= schrieb:

    http://www2.research.att.com/~bs/bs_faq.html#C-slash">I use C/C++ only in phrases such as "C/C++ compatibility" and "C/C++ community".



  • DarkShadow44 schrieb:

    ...man unkompiliert keine Ausgabe bekommt 😃

    Hmm.

    $ gcc main.c
    main.c: In function 'addElement':
    main.c:21: error: 'ListElement' undeclared (first use in this function)
    main.c:21: error: (Each undeclared identifier is reported only once
    main.c:21: error: for each function it appears in.)
    main.c:21: error: expected ';' before 'e'
    main.c:22: error: 'e' undeclared (first use in this function)
    main.c: In function 'main':
    main.c:37: error: 'ListElement' undeclared (first use in this function)
    main.c:37: error: expected ';' before 'head'
    main.c:38: error: 'head' undeclared (first use in this function)
    main.c:45: error: 'e' undeclared (first use in this function)
    

    Hab ich da was falsch gemacht?
    😕



  • Naja, aufgrund der Compilermeldungen sieht es ganz danach aus 😉
    Guck mal wo die angemeckerten Elemente deklarierst.



  • Matze8426 schrieb:

    Naja, aufgrund der Compilermeldungen sieht es ganz danach aus 😉
    Guck mal wo die angemeckerten Elemente deklarierst.

    Aber ich hab's doch einfach nur aus dem ersten Post kopiert. 😕



  • Hallo nochmal 🙂 ,

    ich find es gut, dass jeder seine Meinung in einem Forum kundtun darf, aber findet ihr es wirklich sinnvoll darüber nachzudenken ob das nun C++ oder C ist und dabei über andere herzufallen?

    Fakt ist jedenfalls, dass sich der Sourcecode mit der Visual C++ 2008 Express Edition ohne Fehlermeldung kompilieren ließ. Ich hatte die "Kompilierungsart" auf "Als C++-Code kompilieren (/TP)". Mit "Als C-Code kompilieren (/TC)" lässt sich der Sourcecode nicht kompilieren. Jetzt kann man sich streiten wie wer was gemeint hat und was nun C-Code ist und was nicht. Ich werd mich aber aus dieser Diskusion herausziehen und möchte rüdiger nochmal danken. Man merkt, dass er das nötige Know-How hat und ich find es super, dass er Menschen wie mir hilft und Fragen beantwortet. 👍

    Da es mir tatsächlich darum ging am Ende reinen C-Code zu haben und das Thema nun auch ins ANSI C Forum geschoben wurde, hab ich den Sourcecode angepasst und versucht den Tip mit dem malloc richtig umzusetzen.

    Hier das Ergebnis:

    #include <stdio.h>
    #include <stdlib.h>
    
    struct listElement
    {
    	int value;
    	struct listElement *last;
    	struct listElement *next;
    };
    
    typedef struct listElement ListElement;
    
    struct list
    {
    	ListElement *head;
    	ListElement *position;
    };
    
    typedef struct list List;
    
    typedef enum { false = 0, true = 1 } bool;
    
    bool addElement(List *list, int value)
    {
    	ListElement *element;
    	element = (ListElement *)malloc(sizeof(element));
    	if(element == NULL)
    		return false;
    	element->value = value;
    	element->next = list->position->next;
    	element->last = list->position;
    	if(list->position->next != NULL)
    		list->position->next->last = element;
    	list->position->next = element;
    	return true;
    }
    
    int main(int argc, char **argv)
    {
    	List list;
    	ListElement *element;
    	ListElement head;
    
    	head.value = 40;
    	head.next = NULL;
    	head.last = NULL;
    
    	list.head = &head;
    	list.position = &head;
    
    	addElement(&list, 20);
    
    	element = &head;
    
    	printf("%i ", element->next->value);
    	printf("%i ", element->value);
    
    	printf("\n\n");
    
    	system("PAUSE");
    	return EXIT_SUCCESS;
    }
    

    Grüße Simex



  • simex schrieb:

    ich find es gut, dass jeder seine Meinung in einem Forum kundtun darf

    Gut ist das sicher nicht, es fällt nur keinem was besseres ein.
    🙂



  • µngbd schrieb:

    simex schrieb:

    Und was ist falsches C?

    Damit meint man meistens einen Quelltext, der nicht ohne Fehler durch den Compiler geht.

    oder einer (viel schrecklicher), der zwar durch den compiler geht, aber mal läuft und manchmal auch nicht.

    Ad aCTa schrieb:

    Naja, aber selbst Herr Struppi macht da eine feine Unterscheidung.

    <a href= schrieb:

    http://www2.research.att.com/~bs/bs_faq.html#C-slash">I use C/C++ only in phrases such as "C/C++ compatibility" and "C/C++ community".

    struppi ist ja auch voll der loser. "C/C++ compatibility" sowie "C/C++ community" sind kaum vorhanden, quasi nichtssagende buzzwörter. er will doch nur irgendwelche alten aussagen damit rechtfertigen, die er irgendwann mal gemacht hat.
    🙂



  • ;fricky schrieb:

    struppi ist ja auch voll der loser. "C/C++ compatibility" sowie "C/C++ community" sind kaum vorhanden, quasi nichtssagende buzzwörter. er will doch nur irgendwelche alten aussagen damit rechtfertigen, die er irgendwann mal gemacht hat.

    Naja, "C/C++ community" ist realexistierend hier. Siehe title-Tag.
    "C/C++ compatibility" drückt aus, daß C++ viele Syntaxverbrechen, die man heutzutage niemals mehr machen würde, von C übernommen hat, um verdammt viele C-Benutzer zu klauen.



  • volkard schrieb:

    "C/C++ compatibility" drückt aus, daß C++ viele Syntaxverbrechen, die man heutzutage niemals mehr machen würde, von C übernommen hat, um verdammt viele C-Benutzer zu klauen.

    So wie

    [](int x, int y) -> int { return x + y; }
    

    ? 🙂



  • Was soll denn das sein 😕



  • Genmutant schrieb:

    Was soll denn das sein 😕

    Das ist Syntax, wie man sie heute macht. Wer kommt drauf, was das bedeutet? (volkard bitte ein wenig abwarten)
    🙂



  • µngbd schrieb:

    Wer kommt drauf, was das bedeutet?

    eins der neuen c++0x features? *gg*, ne, keine ahnung
    🙂


Anmelden zum Antworten