Zum Inhalt springen

e.full

Mitglieder
  • Gesamte Inhalte

    53
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von e.full

  1. e.full

    Zeiger

    und da str4= 0 ist, ist das dann verboten
  2. e.full

    Zeiger

    heisst es dann nicht, das da dann nicht rein gespeichert werden darf, da es ja null ist
  3. e.full

    Zeiger

    also jetzt bevor ich ganz verwirrt bin, also ist jetzt auch zeile 3 ungültig oder wie?? ok.. und wie schaut es jetzt mit der zeile 09 aus
  4. e.full

    Zeiger

    ja ich verstehe das schon, ich danke auch klotzkopp also zeiger: zeiger, d.h. es ist eine variable, bieten doch jemanden, jetzt bezüglich in Programmiersprachen wie C, die möglichkeit, auf den speicher zuzugreifen. also bei 09: strcpy (str 4, str2); vorher hatten wir gesagt das str4 null ist und zu str2, dass es ein array auf dem stack ist, und die größe 3 hat da sollte doch eigentlich str2 in str4 kopiert werden ?? oder nicht
  5. e.full

    Zeiger

    wie kommen sie denn da drauf, ich verusche es so zu machen wie ich es verstehe. sonst lerne ich doch nix daraus
  6. e.full

    Zeiger

    so und jetzt zum letzten: 09: quelle str2 zeigt auf den speicher, aus dem gelesen werden darf terminierter string ist auch vorhanden str4 zeigt auf speicher, in den geschrieben werden darf speicher groß -> gültiger zugriff
  7. e.full

    Zeiger

    ah dann ist das also wieder ein ungültiger zugriff
  8. e.full

    Zeiger

    also zu 08: die quelle test3 zeigt auf den speicher, aus dem gelesen werden darf dieser enthält einen terminierten string in ziel darf geschrieben werden, speicher is groß also wenn die bedingungen erfüllt sind, dann heisst es gültig
  9. e.full

    Zeiger

    es tut mir sehr leid bin bisschen verwirrt, deshalb komme ich bisschen durcheinander. 07: stimmt in zeile 2 wurde str2 mit der länge 3 gesagt, aus diesem grund hat str3 jetzt auch eine länge von 3 aus diesem grund ist sie gültig, bei 08: vorher hatten wir gesagt das str3[0] länge 11, hier bin ich mir ehrlich zu sein nicht so sicher und bei 09: auch net so sehr
  10. e.full

    Zeiger

    also ist str2 dann auch der länge 5
  11. e.full

    Zeiger

    ehmm tut mir leid zeile 8 habe ich mich verguckt, die quelle ist test3 und 07: wir hatten ja gesagt das str1 der länge 5 ist in zeile 4 und str 2 3 in zeile 3 deshalb habe ich da jetzt 8 stehen
  12. e.full

    Zeiger

    bei 07: die quelle ist str.2 und hate eine länge von 8 in das zielspeicher dürfen 10bytes geschrieben werden 08:quelle ist str2 und hat eine länge von 8 in das zeilspecher dürfen 10bytes geschrieben werden 09: zielzeiger zeigt auf den speicher in den geschrieben werden darf ???
  13. e.full

    Zeiger

    ist das denn jetzt richtig wie ich das gemacht habe
  14. e.full

    Zeiger

    07: also enthält einen terminierten string die quelle ist str2, der quellzeiger zeigt auf den speicher, in das Ziel darf auch geschrieben werden und deshalb denke ich das das gültig ist bei 08: der Quellzeiger zeigt auf Speicher , aus dem gelesen werden darf, enthält einen terminierten string quelle ist test3, wird mit kopiert aber kein gültiger zugriff bei 09: der quellzeiger zeigt auf den speicher in das ziel darf geschrieben werden enthält einen terminierten string. deshalbt gültig
  15. e.full

    Zeiger

    ok, jetzt mit 07: also ich denke das hier die 4 bedingungen erfüllt sind, und der zugriff gültig ist
  16. e.full

    Zeiger

    06: dieser speicher enthält einen terminierten string der ziel zeigt auch auf den speicher, in den geschrieben werden darf und speicher ist groß genug
  17. e.full

    Zeiger

    also 06 str1 zeigt auf speicher test 1, indem geschrieben werden darf
  18. e.full

    Zeiger

    ja also ich muss ja zunächst schreiben wo die zeiger hin zeigen. bei strcpy weiss ich jetzt noch nicht genau wo die zeiger hin zeigen, ich weiss das die funktion strcpy eine zeichenkette kopiert. jetzt in den zeilen von 06-09 06 es wird eine Zeichenkette von str1 in test1 kopiert 07 str1 kopiert ihre zeichenkette in str2 08 str3 kopiert ihr Nullelement in test3 09 str4 kopiert ihre zeichenkette in str 2 ich weiss jetzt nicht wie ich das anders beschreiben soll
  19. e.full

    Zeiger

    ne ich weiss jetzt irgendwie noch nicht welche zeilen auf ungültige speicher zugreifen
  20. e.full

    Zeiger

    okii, aber bei strcpy war ich mir gar nicht sicher und weiss irgendwie auch nicht wie ich das audführlich bearbeiten soll :-(
  21. e.full

    Zeiger

    also ich habe da mal was versucht, aber weiss net ob es richtig ist: also ab zeile 3: 03 str3 ist ein Array und ist gleichzeitig Element von 0 und 1 04 str1 reserviert einen Speicherplatz 05 str3 ist ein Array und gleichzeitig str1 06 str1 kopiert eine Zeichenkette zu test1 07 str1 und str2 kopieren zeichenketten 08 str3 ist ein Nullelement 09 str4 kopiert eine zeichenkezze zu str 2
  22. e.full

    Zeiger

    hmm, und wie könnte ich das auf den obrigen abschnitt anwenden.
  23. e.full

    Zeiger

    hmm ok danke, habe noch eine frage: ich habe ein ausschnitt aus einem c-programm: 01 char *str1, *str4 = 0; 02 char str2 [] = "t2"; 03 char *str3 [2] = {" Element_0" , "Element_1" }; 04 str1 = malloc (5); 05 str3 [0] = str1; 06 strcpy ( str1, "test1"); 07 strcpy (str1, str2); 08 strcpy (str3[0], "test3"); 09 strcpy (str4, str2); also ich soll jetzt die programmzeilen nennen, in denen auf ungültige speicher zugegriffen wird, und genau beschreiben, weshalb die zugriffe unzulässig sind. nur ich weiss jetzt nicht wie ich das merke, gibt es da bestimmte regel oder so würde mich auf eine antwort freuen, da ich erst neu anfange zu programmieren und nicht weiss wie das so funktioniert.
  24. e.full

    Zeiger

    hmm ok danke, und warum nimmt die funktion printf die auszugebenden daten direkt entgegen??? jetzt im allgemeinen fall
  25. e.full

    Zeiger

    hallo habe ne frage; also wieso erwartet die funktion scanf Zeiger auf die einzulesenden Daten, und wieso nimmt die Funktion printf die auszugebenden daten direkt entgegen.

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...