staunend schrieb:
Jetzt bin ich aber baff, so geht es.
Ja denkst du wir reden nur Blödsinn!?
staunend schrieb:
Vielleicht kannst du (od. sonstwer) mir zwei-drei Sätze dazu schreiben, od. ein Link wäre auch schon nett.
In C werden Zeichenketten als eine Aneinanderreihung von Zeichen aufgefasst. Bei'm Zeichen '\0' ( = Null, 0 ) ist die Zeichenkette zu ende:
"Hello, C!" = 'H', 'e', 'l', 'l', 'o', ' ', 'C', '!', '\0'
Zeichenketten werden in C üblicherweise in einem Array abgelegt:
char str[ ] = "Hello, C!";
Nehmen wir nun an, das array str beginne an 0x0012FECC, dann lägen
'H' an 0x0012FECC
'e' an 0x0012FECD,
'l' an 0x0012FECE,
'l' an 0x0012FECF,
'o' an 0x0012FED0,
',' an 0x0012FED1,
' ' an 0x0012FED2,
'C' an 0x0012FED3,
'!' an 0x0012FEC4 und
'\0' an 0x0012FEC5
Möchten wir nun diesen String ausgeben, so geben wir
#include <cstdio>
using namespace std;
int main( )
{
char str[ ] = "Hello, C!";
puts( str ); // die Adresse von str,
// was identisch zur Adresse des ersten Zeichens ist:
puts( &str[ 0 ] );
}
Das Parameterarray argv in
int main( int argc, char *argv[ ] )
ist nun ein Array aus Strings.
Greetz, Swordfish