Hilfe

ComFreek

Mod | @comfreek
Moderator
Die englische WIkipediaseite sagt auch
Call by reference can be simulated in languages that use call by value and don't exactly support call by reference, by making use of references (objects that refer to other objects), such as pointers (objects representing the memory addresses of other objects). Languages such as C, ML and Rust use this technique.

Quelle

Insofern finde ich es falsch hier von Referenzparametern zu reden: C hat keine Referenzparameter, sondern nur Referenzobjekte.
 

F330

Grünschnabel
Hallo habe eine Lösung was sagt ihr dazu? Verbesserungsvorschlägle sind erwünscht:

#include <stdio.h>

void tausch(int* x, int* y) {
int z = *x;
*x = *y;
*y = z;
}

int main(void) {
int x = 33;
int y = 12;
tausch(&x, &y);
printf("x: %d y: %d", x, y);
return 0;
}
 

ComFreek

Mod | @comfreek
Moderator
Ich würde "tausch" noch static machen, sodass es nur innerhalb dieser Übersetzungseinheit zugreifbar ist. Das ist i. Allg. guter Stil. Außerdem würde ich noch alle Variablen const deklarieren - wo es eben geht:
C:
static void tausch(int * const x, int * const y) {
  const int z /* ... */
}
Letzterer Vorschlag ist aber womöglich ein bisschen umstritten je nach Programmiererszene. In der Welt der funktionalen Programmiersprachen ist das gang und gäbe.
 

anony-m-rx

Grünschnabel
Hallo Liebe Leute,
ich bin neu hier - und weiss noch gar nicht viel über dieses Forum.
Ich habe schon Erfahrung mit Foren - allerdings ging es damals um andere Themen.
Ich habe gerade ein Problem und bitte um Hilfe.
Ich benutze Notepad und den DEV C## Compiler.
Heute früh wollte ich im Compiler eine C-Datei öffen - danach kam nicht mal ein Fehler
aber der Compiler lässt sich nicht mehr bedienen und verharrt dann in einer scheinbar nicht mehr enden wollenden Freeze-Phase.
Vielleicht hat hierzu jemand einen Tipp.
Danke LG J
 

anony-m-rx

Grünschnabel
ah, ok hallo - ja ich kenne die allg. Foren-Regeln - es müsste doch auch so ein Thread geben
wo man direkt seine Fragen reinposten kann
egal ich muss mich hier erst mal noch zurecht finden
LÖSUNG:
ich habe Dev c++ im abgesicherten Modus ausgeführt
*über CMD aufgerufen... mit meinen CMD skills welche ich mit 14j hatte (vor 20j)
haha
und es läuft wieder - TOP!
Nochmal sorry für meinen Falschen Post... je nach Forum sind die Mods auch mal tolerant
hoffe hier ist es nicht ganz so feindseelig...
BIS BALD
 

anony-m-rx

Grünschnabel
ich hatte probleme beim einrichten von codeblocks und konnte sie noch nicht beheben
da fehlten einige bin.dat was mingw angeht
in meinem buch: C von A-Z ist die Einrichtung
eigentlich erklärt hab das aber noch nicht so ganz gecheckt
aber ja, vielen dank für den tipp
ich muss noch sehr viel lernen
aber ich bleibe dran!
Gruss MRX
 

Neue Beiträge