Programmier Problem mit C

Das Forum fĂĽr Programmierer und Systemadmins. Von Shell-, Perl- und PHP-Scripts bis zur objektorientierten Programmierung mit C++.

Beitragvon dreamwalker » So 08 Jan, 2006 22:22

ulrich hat geschrieben:
roro hat geschrieben:& steht fĂĽr Pointer.

nein, das & ist in dem fall der "adresse-von"-operator.
fĂĽr pointer steht *, um es salopp auszudrĂĽcken.


"adresse-von" .. also korrekt ausgedrueckt "referenz-operator" ? ;)
Zuletzt geändert von dreamwalker am Mo 09 Jan, 2006 22:32, insgesamt 1-mal geändert.
10Mbit up/down mit OpenBSD 4.0/i386 Router/Firewall (Soekris net4801 board), 1 x HP ProCurve 1800 8G, 1 x Apple Airport Extreme Basestation

De Raadt says, "I don't know what his (Linus Torvalds) focus is at all anymore, but it isn't quality."
dreamwalker
Junior Board-Mitglied
Junior Board-Mitglied
 
Beiträge: 33
Registriert: Mi 16 Feb, 2005 10:51

Beitragvon ulrich » Mo 09 Jan, 2006 13:06

dreamwalker hat geschrieben:
ulrich hat geschrieben:
roro hat geschrieben:& steht fĂĽr Pointer.

nein, das & ist in dem fall der "adresse-von"-operator.
fĂĽr pointer steht *, um es salopp auszudrĂĽcken.


"adresse-von" .. also korrekt ausgedrueckt "refferenz-operator" ? ;)

nein, das ist aber glaube ich ein problem mit den deutschen bezeichnungen.
char* ist ein zeiger auf ein char
char& ist eine referenz (alias) auf ein char.
mit char c; ist
char* cp = &c; die adresse von dem/der zeiger auf das c,
und
char& d = c; ist eine eine referenz auf das c. hier gilt dann, daĂź &c und &d gleich sind.

allerdings muĂź ich zugeben, daĂź ich nicht genau weiĂź, ob es in C (im gegensatz zu c++) ĂĽberhaupt referenzen gibt.
ulrich
Senior Board-Mitglied
Senior Board-Mitglied
 
Beiträge: 287
Registriert: Do 13 Nov, 2003 14:27

Beitragvon superracer » Mo 09 Jan, 2006 13:26

ulrich hat geschrieben:allerdings muĂź ich zugeben, daĂź ich nicht genau weiĂź, ob es in C (im gegensatz zu c++) ĂĽberhaupt referenzen gibt.

nein gibt es nicht.

ein * (und in c++ ein &) in einem datentyp ist was anderes als der gleichnamige operator (von denen es auch in C beide gibt). der &-operator wird tatsächlich referenz-operator genannt (oder ist zumindest mal so genannt worden), während der *-operator dereferenz-operator genannt wird. die beiden haben aber nichts mit referenzen im c++-sinn oder im objektorientierten sinn zu tun (welche es, wie schon erwähnt, in C nicht gibt).
superracer
Board-User Level 3
Board-User Level 3
 
Beiträge: 1073
Registriert: So 04 Jul, 2004 11:18

Beitragvon dreamwalker » Mo 09 Jan, 2006 22:40

zurueck zur eigentlichen frage..

so sollte es nun klappen und fuer seine zwecke ausreichen (wennst ihn jetzt schon mit atof() etc. "verwirrst" wirds nicht viel sinn haben..)

Code: Alles auswählen
#include <stdio.h>

/* #define __DEBUG__ */

int main(int argc, char** argv)
{
   double dMark = 0.0;      /* Deutsche Mark */
   const double KURS = 1.95583;      /* Euro Kurs */

   printf ("DMark zu Euro Umrechner\n\n");

   printf ("Deutsche Mark eingeben: ");
   fflush(stdout);

   scanf ("%lf", &dMark);   /* Eingabe und in dMark double ablegen */

#ifdef __DEBUG__
      printf("Eingabe: %lf\n", dMark);
#endif

   if(dMark > 0.0)
   {
      printf ("\n%.2lf Deutsche Mark sind %.2lf Euro\n\n", dMark, (dMark / KURS));   /*Rechnen und anzeigen*/
   }
   else
      fprintf(stderr, "Fehlerhafte Eingabe: %lf\n", dMark);
   
   return 0;
}
10Mbit up/down mit OpenBSD 4.0/i386 Router/Firewall (Soekris net4801 board), 1 x HP ProCurve 1800 8G, 1 x Apple Airport Extreme Basestation

De Raadt says, "I don't know what his (Linus Torvalds) focus is at all anymore, but it isn't quality."
dreamwalker
Junior Board-Mitglied
Junior Board-Mitglied
 
Beiträge: 33
Registriert: Mi 16 Feb, 2005 10:51

Vorherige

ZurĂĽck zu PROGRAMMIER FORUM

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 Gäste