Zum Inhalt springen

gajUli

Mitglieder
  • Gesamte Inhalte

    2.931
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    6

Alle Inhalte von gajUli

  1. gajUli

    Fragen zu C++

    Nanana, jetzt sind wir aber erstmal alle bitte ganz andaechtig, lenken nicht mit new und und anderen Feinheiten vom Wesentlichen ab und lauschen den weisen Worten der FAQ, welche da lauten: 2.2: Aber ich habe gehört daß char a[] das gleiche wie char *a ist. A: Überhaupt nicht. (Diese Aussage hat etwas mit den formalen Parametern einer Funktion zu tun. Vgl. Frage 2.4.) Arrays sind keine Zeiger. Die Feldvereinbarung "char a[6]" fordert, daß Platz für sechs Zeichen bereitgestellt wird, der unter dem Namen "a" bekannt ist. Das bedeutet, daß es einen Ort mit dem Namen "a" gibt, an dem sechs Zeichen gespeichert sein können. Die Zeigervereinbarung "char *p" dagegen fordert Platz für einen Zeiger an. Der Zeiger trägt den Namen "p" und er kann auf jedes Zeichen (oder jedes zusammenhängende Array von Zeichen) irgendwo im Speicher zeigen. Wie so häufig ist ein Bild tausend Worte wert. Die Anweisungen char a[] = "hello"; char *p = "world"; würden zu Datenstrukturen führen, die auf folgende Weise dargestellt werden können: +---+---+---+---+---+---+ a: | h | e | l | l | o |\0 | +---+---+---+---+---+---+ +-----+ +---+---+---+---+---+---+ p: | *======> | w | o | r | l | d |\0 | +-----+ +---+---+---+---+---+---+ Es ist wichtig zu begreifen, daß ein Bezug wie x[3] zu unterschiedlichem Maschinencode führt, je nach dem, ob x ein Array oder ein Zeiger ist. Wenn man den obigen Quelltext heranzieht, wird ein Comiler für den Ausdruck a[3] Maschinencode ausgeben, der an der Speicherpostition "a" beginnt, von dort drei Schritte weitergeht und das Zeichen an der so gefundene Speicherposition ließt. Wenn der Compiler auf den Ausdruck p[3] trifft, erzeugt er Maschinencode der an der Speicherposition "p" beginnt, den Zeiger holt der dort liegt, zu diesem Zeiger 3 dazuzählt und zum Schluß das Zeichen holt, auf das dieser Zeiger zeigt. In dem obigen Beispiel sind zufällig sowohl a[3] als auch p[3] das Zeichen 'l', aber der Compiler kommt auf verschieden Wegen zu diesem Zeichen. (Siehe auch 17.19 und 17.20) 2.3: Was ist dann mit der "Äquivalenz von Zeigern und Arrays" in C gemeint? A: Ein großer Teil der Verwirrung, die Zeiger in C umgibt, kann auf ein falsches Verständnis dieser Aussage zurückgeführt werden. Wenn gesagt wird, daß Arrays und Zeiger "äquivalent" sind, bedeutet das nicht, daß sie identisch oder austauschbar seien. "Äquivalenz" bezieht sich auf die folgende wichtige Definition: Ein Lvalue [vgl. Frage 2.5] vom Typ Array aus T, der in einem Ausdruck verwendet wird, verfällt (mit drei Ausnahmen) zu einem Zeiger auf sein erstes Element. Der Typ des Zeigers, der sich so ergibt, ist Zeiger auf T. (Die Ausnahmen hiervon sind ein Array, das als Operand des sizeof oder des & Operators auftritt, oder das eine buchstäbliche Zeichenkette [Anm: d.h. eine Zeichenkette in Anführungszeichen] ist, die verwendet wird, um ein Array von Zeichen zu initialisieren.) Als Folge dieser Definiton gibt es keinen offensichtlichen Unterschied im Verhalten des "Array Element Zugriffs"-Operators, wenn er auf Arrays und Zeiger angewendet wird. In einem Ausdruck der Form a verfällt der Verweis auf das Array a nach der obigen Regel zu einem Zeiger und der Elementzugriff erfolgt dann wie bei einer Zeigervariablen in dem Ausdruck p (obwohl der tatsächliche Speicherzugriff verschieden ist, wie in Frage 2.2. erklärt wird). In beiden Fällen ist der Ausdruck x, wobei x entweder ein Array oder ein Zeiger ist), definitionsgemäß identisch mit *((x)+(i)). Literatur: K&R I Sec. 5.3 pp. 93-6; K&R II Sec. 5.3 p. 99; H&S Sec. 5.4.1 p. 93; ANSI Sec. 3.2.2.1, Sec. 3.3.2.1, Sec. 3.3.6 Uli
  2. gajUli

    Fragen zu C++

    Wieso das denn??? (Am besten sag ich kein Wort mehr ohne meinen Anwalt.) Uli
  3. Tja, also, nun lasst ihm doch einfach seine Freude, meine Guete... Und zum Trost: Wer die Pruefung noch vor sich hat, hat immerhin noch die theoretische Chance auf nicht durchgesickerte Fragen, auch wenn schon wieder eine Themenliste unterwegs ist. Uli
  4. Hi! Wenn man sich auf das Lernen der Sprache konzentrieren will, gibts meiner Erfahrung nach nichts Besseres als das JDK von Sun (unter Windows) und die darauf aufbauende MRJ von und fuer Apple, die ja bereits mit dem OS kommt; beides fuer umme. Hat auch den Vorteil, dass man quasi den Referenzcompiler hat. Wenn man spaeter groessere Sachen entwickeln will, sucht man sich halt ein professionelleres Entwicklungsystem. Auf dem Mac waere das z. B. Metrowerks CodeWarrior. Fuer Windows hat Erdbeere hier mal so ein Teil von IBM empfohlen, das muesstest Du mal den Thread raussuchen. Uli
  5. gajUli

    Fragen zu C++

    Grrr, ich auch ne Lehrkraft. *'#?ß)(&%$§!" Uli
  6. gajUli

    Fragen zu C++

    Hallo zusammen, mal ganz grundsaetzlich: char* ist ein Datentyp. Ein Datentyp allein deklariert NICHTS. Ein Datentyp allein definiert NICHTS. Eine Deklaration sieht so aus: typ name; Eine Definition sieht so aus: typ name=wert; Uli
  7. CBB, ich kapier das nicht ganz. Was ist an Muenster hinsichtlich der IT-Pruefung Besonderes in NRW? Uli, gute Besserung wuenschend
  8. Ja aber hallo, gehts denn noch? Und warum denn eigentlich? Der Beitrag von WebNas enthaelt doch eine Menge guter Vorschlaege und eine Sichtweise, die, gerade weil sie von ausserhalb kommt, besonders stichhaltig ist. Ich hab selber ja beides erlebt, zwei Berufsausbildungen und ein Studium. Da faellt einem schon auf, dass bei den "Beschwerdefuehrern" auf Seiten von IT-Auszubildenden Anspruch und Wirklichkeit oft auseinanderklaffen. Die Frage ist einfach, was man mit den Miesepetern anfangen soll und was die in aus oeffentlichen Mitteln finanzierten Umschulungsmassnahmen verloren haben und wieso die auch noch durch die Pruefung geschleust werden, obwohl sie in einem IT-Beruf nichts zu suchen haben. Uli [ 03. Juni 2001: Beitrag editiert von: EisenUli ]
  9. Wieso 6. oder 7. Pruefung? Die Frage beinhaltet eine falsche Annahme und die Beantwortung wuerde nicht viel besagen, weil das, wie alles andere ebenfalls Spekulation ist. Aber wenns Dich beruhigt: Vielleicht hatte der Uebeltaeter ja zu den ersten Pruefungen keinen Zugang. Viele Pruefungsausschuesse sind erst spaeter entstanden, als die Azubi-Zahlen in die Hoehe schnellten. Ansonsten ist es halt eine Einschaetzungsfrage, ob man sowas moeglich haelt oder nicht. Ich kann das ja auch nur auf der Basis meiner Erlebnisse einschaetzen und genauso danebenliegen wie jeder andere. Jedenfalls macht es mich stutzig, dass es eben doch den einen oder anderen gibt, der ueber diese Pruefungspannen eher klammheimliche Freude als Entsetzen zeigt, obwohl ich sicher kein Befuerworter von Verschwoerungstheorien bin. Uli
  10. Hallo CaptainKirk, Du vergisst, dass es eine Sache frueher nicht gab: Das Internet fuer jederman. Man muss vielmehr davon ausgehen, dass es Pruefungsschmuh frueher auch gegeben hat; nur blieb er immer lokal begrenzt. Wenn heute was durchsickert, weiss es gleich die ganze Bundesrepublik, weil eben IT-ler staendig mit dem Internet zu tun haben. Im Stern stand uebrigens ein Interview mit einem, der 33 Jahre bei der IHK Muenchen geprueft hat. Der Mann erzaehlt dort von seinem Aerger darueber, dass einige grosse Firmen immer mit guten Ergebnissen ihrer Azubis in der Zeitung standen, die seiner Ansicht nach aber auf dem vorzeitigem Auspacken der Aufgaben beruhten und nicht auf guter Ausbildung. Uli
  11. gajUli

    Offset

    Wollt ihr jetzt ein Forum fuer Computernostalgie aufmachen? Uli
  12. Hi SpecialK, auch wenn er sich wichtig machen wollte, die Unzufriedenheit mit den IHKs erstreckt sich ja nicht nur auf Auszubildende, sondern auch auf Pruefungsausschuesse, Betriebe und das Schulwesen, alle Institutionen eben, die mit IHKs zusammenarbeiten muessen und dabei feststellen, dass die oft nicht so sehr helfen wollen, sondern sich eher hinter ihren Paragraphen verschanzen. Schon denkbar, dass jemand, der Aufgaben weitergibt, damit auch politische Interessen verfolgt. Dabei ist der politische Hintergrund hochbrisant. Die Gewerbeordnung wackelt wegen des Drucks von der EU, und eine Gesetzesnovelle wird irgendwann kommen. Wenn man nun also sowieso schon anfangen muss, auf diesem Gebiet die juristischen Grundlagen zu veraendern, dann liegt es nahe, dass man sich dabei auch das Pruefungswesen einmal vorknoepft. Und wenn zweimal hinereinander eine Pruefung platzt mit dem unvermeidlichen Getoese in der Oeffentlichkeit, dann wird man sich auch unter den Abgeordneten in den Ausschuessen daran erinnern. Alles etwas hintergruendig und verschwoerungstheoretisch, aber es macht Sinn. Uli
  13. Tja, Poldi, da pflichte ich Dir bei, ist eine Diskussion um des Kaisers Bart. Wenn ich umfangreiche String-Operationen machen will, dann bin ich im Vorteil, wenn ich eine class benutze. Wenn ich nur "pieps" in den Speicher legen will, dann waere ich schoen bloed, wenn ich dazu tonnenweise Quelltexte includiere und meinen Arbeitsspeicher mit Code befrachte, den ich nicht brauche. RAM kann verdammt knapp sein! Denkt mal daran, dass man mit c und cpp nicht nur fette Maschinen prorammiert, sondern auch mal einen Microcontroller fuer 20 Mark mit 16 kbyte Hauptspeicher. Am besten lernt man beides und laesst anderen ihre Berechtigung, auch sie in einem anderen Metier jobben. Uli
  14. Hi Leuts, also bevor ihr dieses Thema jetzt komplett verulkt und obwohl das etwas seltsam vorgetragen ist, es hat doch einen sehr ernstzunehmenden Kern. Uli
  15. Hi, interessant waers ja schon, aber wenn der sich geschickt angestellt hat, dann kriegen die den nie. Aber eine andere Neuigkeit hab ich geruechteweise gehoert: Man beziffert angeblich den finanziellen Schaden auf ca. eine Millon Mark. Also ich sag Euch was: Wenn mir einer vor dem Pruefungstermin einen Aufgabenbogen als Pruefer zeigen wollte, dann wuerde ich ganz schnell weglaufen, damit ich gar nicht erst in Verdacht geraten wuerde. Uli
  16. Saluti, nach dem letzten abgelegten Pruefungsteil hat man ein Anrecht auf eine Bescheinigung, die sagt, ob man bestanden hat, mehr nicht. Im Zeugnis, das man u. U. erst spaeter bekommt, stehen dann mindestens die Noten der einzelnen Pruefungsteile, die Prozentzahlen nicht unbedingt. Man kann sie aber in jedem Fall erfahren, indem man Akteneinsicht nach der Pruefung beantragt. Ich weiss z. B. bis heute nicht, mit welchen Prozentzahlen ich damals meine IHK-Pruefung gemacht habe. Auf dem Zeugnis stand nur eine Note fuer den schriftlichen Teil und eine Note fuer den praktischen Teil. Uli
  17. Ja, jedenfalls wenn man verhindern will, dass es ein Laber- und Motzforum wird. Es wird ja niemand herumkommandiert und mit Militaer hat das auch nichts zu tun. Du musst uns da also nicht in diese falsche Ecke stellen. "Unterwerfen" unter ein "Kommando" heisst fuer mich einfach einfach, dass der Moderator das Sagen in seinem Forum hat und sich dafuer keine Beleidigungen anzuhoeren braucht. Uli
  18. Hi McL, ich denke, Dein Beitrag ist schon ganz OK, weil es mal ganz interessant ist, verschiedene Foren zu vergleichen. Du schreibst, hier im Pruefungsforum waere es genauso abgelaufen wie bei Euch. Das seh ich etwas anders. Grundsaetzlich befuerworte ich immer dann mehrere Threads zu einem Thema, wenn es einen Massenansturm gibt. Vor allem aus dem Grund, weil es immer zwei, drei Meinungs- oder Denkrichtungen gibt, in die sich diese Threads dann entwickeln koennen. Wenn 40 Leute aber ueber 5 Unterthemen in einem Thread diskutieren, steigt kaum noch einer durch. Stoeraktionen (Spam, Fakes, Hoax, Flame) unterbinden wir rigoros, was dann zur Folge hat, dass sich Leute ansammeln, die genug Vernunft mitbringen, richtig zu posten, so dass man nicht so oft schliessen oder verschieben muss. Uebrigens sind hier alle IT-Berufe willkommen. Dann dieses Problem mit Leuten, die die Moderation angreifen (also jetzt nicht im Sinne von guter Kritik sondern von Ansehen beschaedigen). Ich hatte frueher eine andere Einstellung dazu als jetzt. Frueher hab ich das immer stehen lassen und gekontert und war der Meinung, die Leser wuerden halt beides lesen und sich das ihre denken. Inzwischen sehe ich das etwas anders. Als Moderator bist Du in der gleichen Rolle wie ein Kapitaen. Ob Du es willst oder nicht, Du hast eine Richtlinienkompetenz, musst Regeln aufstellen und durchsetzen. Das wird geradezu von Dir verlangt, direkt oder indirekt. Manche machen sich einen Sport daraus, Deine Faehigkeit auf dem Gebiet zu testen und wir wissen wohl alle, wie so etwas den sachlichen Gehalt gegen Null runterzieht. Wenn Du einen Segelschein machst, lernst Du bei den Rechtsfragen, dass im Logbuch eingetragen werden muss, wer das Kommando hat, speziell wenn mehrere einen Schein haben. Und das ist dann eben so. Unter Seglern ist es ganz normal, sich unterzuordnen, auch wenn der Skipper vielleicht weniger Erfahrung hat als man selbst, denn man weiss, wie leicht das Schiff und die Mannschaft in Gefahr geraet, wenn Zweifel an der Autoritaet des Skippers aufkommen. Bei Toerns sind oft schon Leute im naechsten Hafen von Board gegangen, wenn sie dem Skipper allzuviel Aerger gemacht haben. Genauso ist das fuer mich absolut ein Grund, jemandem aus einem Forum rauszuschmeissen. Eine interessante Parallele; vielleicht sagt man ja deshalb auch Diskussions-BOARD. "Iron" hab ich durch "Eisen" ausgetauscht, weil ich nicht heissen will wie einer, der jedes Wochenende auf Zockerparties faehrt. Das Login "Uli" hatte schon ein anderer. Das gegenseitige Uebertrumpfen mit englischen Namenskreationen ist ja ziemliche Mode, und ich mache meist, was die Mode nicht macht. Ausserdem bin ich Deutscher. ;-) Mit besten Gruessen aus dem Metallurgie-Department Uli [ 31. Mai 2001: Beitrag editiert von: EisenUli ]
  19. Nur um diese Aeusserung in den richtigen Kontext zu ruecken: "TNSNames" gehoert zu den angesprochenen Personen, die schon mehrmals rausgeflogen sind. Insofern greifen wir gerade viel zu schwach durch. Uli
  20. Nicht unbedingt, das haengt davon ab, wieviel Zeit zwischen zwischen den Initialisierungaufrufen verstreicht. Uli
  21. @voelki Aber natuerlich gibt es in C echte Strings, bzw. was Du vermutlich unter "echt" verstehst, ist bei anderen Konzepten nur eine Verschleierung dessen, was C direkt macht, naemlich eine Folge von ASCII-Zeichen im Speicher mit Hilfe einer Adresse zu verwalten. Uli
  22. gajUli

    typumwandlung????

    Mit Verlaub Leute, ich glaube, mohament meint einen cast. int i=123; char c; c = (char) i; Uli
  23. Hm, vielleicht geht bei dem cast etwas in die Hose. Versuch mal die uebliche Variante: srand((unsigned int) clock()); Uli
  24. Nun gut, wenn die Variablen in ASCII-Form einzeln in Dateien stehen wird die Sache etwas einfacher. Dann also erstmal als String auslesen und dann munter drauf los. Files behandelst Du mit symbolischen Pointern, die man mit fopen() auf die jeweilige Datei setzt. Hat man dies, gibt es einen ganzen Zoo von Funktionen fuer Lesen oder Schreiben, Pointersetzen usw. Das alles zu erklaeren wuerde hier zu weit fuehren. Du wirst nicht umhinkommen, erstmal ein entsprechendes Tutorial zu dem Thema oder ein Buch zu studieren. Am Beispiel wird dann schnell klar, wie es geht. Uli
  25. Hi DocBrown, die Schwierigkeit liegt hier darin, dass eine Berechnung mit Werten gemacht werden muss, die als ASCII vorliegen. Also muessen die verschiedenen Substrings herausgeparst und in Zahlentypen (int, float, usw.) umgewandelt werden. Dies geht am besten, indem man die gesamte Formel erstmal als String bzw. char[] in den Arbeitsspeicher liest. Die noetigen Umwandlungsfunktionen (atoi(), atof()) findest Du in der stdlib.h. Wird ne huebsche Hampelei und ist ganz lehrreich. Uli

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...