Re: [maillist] C++ Problem

Dr.Stephan Melin (stephan.melin@neuss.netsurf.de)
Thu, 19 Aug 1999 23:01:33 +0200

On Thu, 19 Aug 1999, you wrote:
>Felix Gertz wrote:
>
>>=20
>> >Jetzt will ichs aber wissen: "n" ist doch ein String und 'n' ein Char=
, oder?
>>=20
>> Ja, denke ich.
>
>ein char ist ein String der L=E4nge eins; die Anf=FChrungszeichen sind M=
E
>schnuppe.
>den wissenschaftlichen Teil hat ja schon Dr. Melin abgehandelt ;)

Grins! - Und ich bin noch nicht einmal Informatiker ...

Aber Deine Aussage ist leider schlicht und ergreifend falsch (sorry!).

'n' belegt genau* einen Speicherplatz der Gr=F6=DFe char
"n" belegt genau* zwei Speicherpl=E4tze der Gr=F6=DFe char=20

"Strings" sind immer Null-terminiert...

"n" pa=DFt also nur in ein Array x mit der Deklaration:
char x[2] (oder mehr)
rein (char *x und dann ein entsprechendes malloc tut's auch)

*Naja: in der Theorie stimmt das, aber je nach CPU und Speicherverwaltung=
kann
es auch ein bisserl mehr sein. Deswegen sollte man bei structs mit dem fw=
rite
etwas vorsichtig sein... (Wenn ich weiter so mache, kann ich wohl bald ei=
n Buch
=FCber die Untiefen von C (und C++) schreiben...)

Beste Gr=FC=DFe

=09Stephan

P.S.: Eigentlich sollte man lieber von c-Strings sprechen, sonst sind die
ehemaligen B=E4hSick "Programmierer" (kann man da =FCberhaupt von Program=
mieren
sprechen ???) schnell ein bisserl durcheinander - gleiches gilt auch f=FC=
r die
Ex-Pascal Leute.=20
Richtig lustig wird es aber dann, wenn ein Apprentice-C(++)-Entwickler au=
f APIs
st=F6=DFt, die COBOL Strukturen benutzen. Von solchen Leuten kann ich auc=
h ein Lied
singen...

--
Dr. Stephan Melin
EMail: stephan.melin@neuss.netsurf.de
Voice: +49-211-6006190