Ich bin ein Anfänger von C-Programmierung. Der Code des Austausch v [i] und v [j] aus dem Buch ist:Austausch mit Zeiger-Array
void swap2(char *v[], int i, int j) {
char *temp;
temp = v[i];
v[i] = v[j];
v[j] = temp;
}
Ich bin nicht sicher, ob ich diese richtig bekam. Ich denke, v
ist hier ein Array, das Zeiger speichert, so v[i]
und v[j]
sind Zeiger. Hier Temp ist auch ein Char-Zeiger, aber es macht mich das Gefühl, dass temp = v[i];
diese Aussage sagt ein Zeiger v[i]
ist eine Adresse zugewiesen, und ich denke, wenn wir char *temp
in char temp
ändern wird die Funktion korrekt machen. Könnte mir jemand dabei helfen?
Wenn Sie gemacht 'temp' einen' statt 'char *' char' Sie eine 'char *' zu einem 'char' zuweisen würde, und Sie würden wahrscheinlich einen Kompilierungsfehler erhalten .. –
Ein Zeiger ** ist ** eine Adresse. – Barmar