Frage zum C-Tutorial Kapitel Zeiger und Attribute
Verfasst: Do Okt 29, 2015 3:46 pm
Hallo zusammen,
ich bin dabei mich durch das C-Tutorial durchzuarbeiten, ürigens bis her muss ich sagen klasse tutorial, und hab da einpaar Verständnisfragen.
Zu den Zeigern:
Zeiger zeigen ja auf eine zuvor definierte arrays oder variablen, also so wie ich das verstanden habe, muss eine Identifikator auf den der Zeiger zeigt eine Adresse im Speicher haben muss
also in dem Fall
warum ist dann
ein korrekter code. Liegt denn eine Zeichenkette irgendwo im Speicher?
Zu den Attributen:
Ich habe das programm zum festellen der zeichenlänge und zum ersetzen der zeichen durch punkte wie das Tutorial es vorgeschlagen hat geändert trotzdem bekomme ich eine Fehlermeldung beim compieleren hier ist der code:
Die funktion dots funktioniert hiermit immer noch nicht. Zeigt den in der FUnktion dots der pointer string auf die Adresse von array oder wohin?
Ich hoffe ihr könnt mir weiterhlefen.
Tut mir leid für den langen Text wollte meine Fragen versuchen deutlcih zu erklären
.
Viele Grüße
Ramnad
ich bin dabei mich durch das C-Tutorial durchzuarbeiten, ürigens bis her muss ich sagen klasse tutorial, und hab da einpaar Verständnisfragen.
Zu den Zeigern:
Zeiger zeigen ja auf eine zuvor definierte arrays oder variablen, also so wie ich das verstanden habe, muss eine Identifikator auf den der Zeiger zeigt eine Adresse im Speicher haben muss
also in dem Fall
Code: Alles auswählen
//das geht
int a = 2;
int * p = &a;
//das geht nicht
int * p = &2;
Code: Alles auswählen
char * text = "proggen.org";
//bzw.
char const * text = "proggen.org";
Zu den Attributen:
Ich habe das programm zum festellen der zeichenlänge und zum ersetzen der zeichen durch punkte wie das Tutorial es vorgeschlagen hat geändert trotzdem bekomme ich eine Fehlermeldung beim compieleren hier ist der code:
Code: Alles auswählen
#include <stdio.h>
void dots( char * string )
{
unsigned int pos = 0;
while( string[ pos ] )
{
string[ pos ] = '.';
pos = pos + 1;
}
}
unsigned int strLength( char * string )
{
unsigned int length = 0;
while( string[ length ] )
length = length + 1;
return length;
}
int main( void )
{
char const array[] = "proggen.org";
unsigned int length = strLength( "aaaaaaaaaaaa" );
printf( "Der Text ist %d Zeichen lang.\n", length );
dots(array);
printf( "Der Text ist nach dots() nun: %s\n", array );
return 0;
}
Ich hoffe ihr könnt mir weiterhlefen.
Tut mir leid für den langen Text wollte meine Fragen versuchen deutlcih zu erklären

Viele Grüße
Ramnad