Wie führen Sie eine Iteration durch Zeiger?

Beispiel:

int *start;
start = (int*)malloc(40);

Wenn ich wollte, Durchlaufen alle 40 bytes, wie würde ich tun?
Ich versuchte dabei so etwas wie:

while(start != NULL){
     start++;
}

aber, dass durchläuft eine massive Anzahl von Werten, die viel größer ist als 40. So, wie Sie sicherstellen, dass Sie Durchlaufen alle 40 Byte.

Dank für all die Hilfe.

  • Ich sehe nicht ein, Grund für das down-voting die Frage, gibt es vernünftige input und Aufwand, der zeigt, was der OP machen will. Was passiert SO in letzter Zeit
  • Ich kann mich nicht erinnern, das Grundprinzip, aber sehen Sie es SO. Sie sollten nie gegossen, das Ergebnis von malloc. Entfernen Sie die (int *) from line start=...malloc... ;
  • Es muss gelehrt werden, anstatt still downvoted. Grund dafür ist im detail in der anderen Frage SO, aber es ist, dass das casting malloc den Rückgabewert kann MÖGLICHERWEISE ausblenden/tamper eine fehlgeschlagene Zuweisung. Beachten Sie, dass dies spezifisch für C. In C++, es ist eine Anforderung, dies zu tun.
InformationsquelleAutor svsav | 2015-04-28
Schreibe einen Kommentar