C Programm: Funktion um Speicher mit Nullen zu versehen (Grundlagen)

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Was dein Professor meint, ist, dass ihr die Funktion "memset" in folgendem Beispiel durch eine selbstgeschriebene Funktion ersetzen sollt:

char *ptr;
ptr=malloc(n);
memset(ptr,0,n);

Der Befehl "malloc" "erzeugt" (das Wort "erzeugen" ist nicht ganz richtig) einen Speicherbereich der Länge n Bytes. Die Variable "ptr" ist ein Zeiger auf diesen Speicherbereich, das bedeutet, man kann sie wie ein Array verwenden. Anstatt:

char a[100];

könnte man auch:

char *a;
a=malloc(100);

schreiben. Das funktioniert auch mit anderen Datentypen außer "char", man muss dann aber beachten, dass man bei "malloc" die Anzahl an Bytes und nicht die Länge des Arrays angeben muss. Außerdem muss man noch ein paar andere Sachen beachten.

Das Array enthält von Anfang an zufällige Werte. Die Funktion "memset" würde dann alle Werte in diesem "array" zu Null machen.

Diese Funktion ("memset") sollt ihr durch eine eigene, selbstgeschriebene Funktion ersetzen.

Danke für die Antwort, gäbe es eine möglichkeit diese memset funktion mit schleifen oder sonstigen einfachen befehlen zu gestalten, da wir den befehl memset nicht in der vorlesung behandelt haben?

mfg

0
@biggoliath

Genau das ist ja eure Hausaufgabe!

Im Endeffekt muss man a[0] auf 0 setzten, dann a[1], dann a[2], ..., und am Schluss a[n-1]. Eine for-Schleife eignet sich dafür besonders gut.

0
@martin7812

es handelt sich hierbei um eine aufgabe die in der klausur drankommen soll, jedoch hat niemand aus der stufe überhaupt eine ahnung wie man es realisieren kann, leider bleibt in der klausur keine zeit sich darüber gedanken zu machen.

könnten sie mir mal als beispiel die schleife programmieren?

vielen dank im voraus.

0

Hört sich so an als ob der selber nicht ganz weiß wovon er spricht, abgesehen von den wirklich miserablen rhetorischen Fähigkeiten und der Ausdrucksweise. "kriegt" usw.

Eventuell hilft dir das:

http://www.c-plusplus.de/forum/159231-full

Danke für die Antwort, also Sie können davon ausgehen dass dieser Herr wirklich sehr viel Ahnung von diesem Gebiet hat...und weiß wovon er spricht.

0
@biggoliath

Wenn Sie das so sagen. Ich bin nur froh, dass ich mir das nie antun musste, um etwas zu lernen.

Ich hoffe der Link hilft Ihnen auf verständlichere Art weiter. Viel Glück.

0
@Alex1146

es handelt sich um die programmiersprache c, nicht um c++. obwohl c eine untermenge ist....

was in dem link beschrieben wird ist schon viel zu komplex.

0
@biggoliath

Das bezieht sich auch auf C (zumindest teilweise / genügend für das was Sie suchen), steht sogar in der Überschrift.

Wenn Sie das vollständig lesen würden, oder wenigstens die Suchfunktion Ihres Browsers (STRG+F) für die Suche nach "Null" verwenden würden, würden Sie feststellen, dass die von Ihnen gesuchte(n) Funktion(en) und Möglichkeiten dort wohl erklärt werden.

Da sie geschrieben haben: "Habe auch keinen wirklich festen Anhaltspunkt, der mir bei der suche helfen könnte." Gab ich Ihnen "einen" Anhaltspunkt. Übrigens: 10 Sekunden Google Ihrerseits hätten ihnen (und mir) heute viel Zeit erspart.

1

Hilfe Übung C Programmierung?

Eine Zahl n   heißt vollkommen, wenn gilt: Die Summe aller Teiler von n (inklusive 1 und der Zahl n selbst) beträgt 2 * n. Beispiel: 6 ist eine vollkommene Zahl, den die Summe der Teiler 1 + 2 + 3 + 6 = 12 = 2 * 6. Schreiben Sie ein Programm, das einen Wert uGrenze sowie einen Wert oGrenze einliest. uGrenze und oGrenze definieren ein Intervall natürlicher Zahlen. Sie sollen nun die Anzahl aller vollkommenen Zahlen zwischen uGrenze und oGrenze berechnen. Strukturieren Sie Ihr Programm wie folgt:  Schreiben Sie eine Funktion istTeiler(i,N), die genau dann true liefert, wenn i die Zahl N teilt  Schreiben Sie eine Funktion istVollkommen(N), die genau dann true liefert, wenn eine vollkommene Zahl ist  Im Hauptprogram untersuchen Sie für jede Zahl i im Intervall uGrenze..oGrenze, ob i eine vollkomme Zahl. Rufen Sie dazu die Funktion istVollkommen auf.  Geben Sie die berechnete Anzahl der gefunden vollkommenen Zahlen im Intervall aus. Wenn Sie wollen können Sie auch gerne die gefundenen vollkommenen Zahlen ausgeben.

...zur Frage

Windows 10 CMD | edit.com extitiert nicht | Lösung?

Ich habe das Problem dass das Programm/ die Funktion "edit.com / MS-DOS" nicht auf meinem System existiert. Ich weiß dass es ein spezielles Programm / einen Treiber dafür benötigt aber diesen habe ich auch schon Installiert. Ich erbitte schnelle Hilfe!

---------------------------------------------------

Betriebssystem: Windows 10 Pro x64

---------------------------------------------------

Danke im Vorraus

~ Benny

...zur Frage

s3 mini- bilder gelöscht

ich habe aus Versehen einen Ordner auf dem internen Speicher glöscht, ich habe versucht, es mit recuva wiederherzustellen, doch das Programm erkennt mein Handy nicht, da ich es nicht als Massenspeichergerät anschließen kann.

Ich hab bereits recherchiert, doch was ich nicht verstehe ist, wie das handy als massenspeichergerät angeschlossen werden kann. :(

Danke schon einmal

...zur Frage

Ich suche ein Programm womit man einen Bot auf einem Windows Betriebssystem programmieren kann. Gibt's was in der Art?

Eine wichtige Funktion wäre, dass man bestimmte Pixel oder Stellen auf dem Bildschirm programmgesteuert anklicken kann.

Hoffe jemand kann mir weiterhelfen.

...zur Frage

System wiederherstellung ohne Passwort(Windows 10) Wieder zurückstellen?

Hallo Leute, ich brauche mal schnell eure hilfe, ich habe das Problem, das ich ein Windows update gemacht habe, jetzt taucht aber nur ein schwarzer bildschirm mit dem Maus zeiger auf, jetzt will ich ab einem alten speicher punkt wo ich das update noch nicht hatte wieder zurück springen, aber ich habe das ORIGINAL Passwort von meinem Pc vergessen, da ich ein Passwort habe und auf einen zahlencode umgestiegen bin (ps, der zahlencode funktioniert nicht) habe ich es vergessen, jetzt kann ich meinen pc nicht mehr auf einen alten zeitpunkt zurücksetzen und ich will mir keinen neuen Pc kaufen, oder meine Festplatte formatieren und ein neues Betriebssystem kaufen, da ich auf meinem Rechner verdammt viel wichtiges zeugs drauf habe/hatte. Ich hoffe man kann es irgendwie umgehen. Ich bedanke mich schon einmal im Vorraus

...zur Frage

Festplattenspeicher verschieben?

Hallo, wollte wissen ob ich bei meiner Festplatte den freien Speicher von einer anderen Partition auf eine andere verschieben kann z.b. von F nach C? Welches Programm muss ich da nehmen? Und geht das wenn ich auf C schon ein Betriebssystem Installiert habe? Mein Betriebssystem ist Windows 7 Ultimate! Danke im voraus!

...zur Frage

Was möchtest Du wissen?