Probleme mit char Array

Meccan

Erfahrenes Mitglied
Hallo Leute,

ich habe ein Problem mit der definition von einen char Array.
hier der Code:
Code:
int main()
{
    char feld[2][80] = {"gammel","held"};
    feld[1] = "blaa";
    printf("%s %s \n", feld[0], feld[1]);

    return 0;
}
mein Ziel ist es einfach verschdieden lange Wörtet maximal mit der länge 80
in einen Array zu Speicher.
Die Definition klappt ohne probleme in char feld[2][80] = {"gammel","held"}; aber wenn ich mit feld[0] = "bla" den ersten Feld im Array ein neues Wort zu weisen will kommt immer die Fehlermeldung bei kompilieren:
"warning: assignment makes integer from pointer without a cast"

danke schonmal im voraus für eure hilfe.

MFG meccan
 
Hi,

probiers mal mit...

Code:
    char feld[2][80] = {"gammel","held"};
    strcpy(feld[1],"blaa");

... dann klappts auch mit dem Kompilieren ;-)

Gruß,

Peter

Und übrigens hast du ein 2-Dimensionales char-Array, kein char-Array ;)
 
dank dir hat alles funtkioniert.
Ja stimmt hab ein zweidimensionales Char-Array, aber eigentlich
ja auch nur ein eindimensionales welches Zeicheketten speichert^^ :)

MFG Meccan
 
und schon gibts das nächste Problem.
Code:
void printArray(char feld, int length)
{

//einfache und foramtierte Ausgabe des array's

}

int main()
{
int length = 2;

char feld[length][80] = {"gammel","held"};
strcpy(feld[1],"blaa");

printArray(feld, length);

return 0;
}

wenn ich nun versuche die Funktion printArray mit den Argumenten aufzurufen
bekomm ich die Fehlermeldung:
"warning: passing arg 1 of `printArray' from incompatible pointer type"

hoffe du kannst mir auch da weiterhelfen.

mfg meccan
 
Hallo,

das ist doch offensichtlich.

Deine Funktion erwartet als erstes Argument ein char, du bigst ihm aber einen Pointer auf ein 2-Dimensionales char-Array.

Deine Deklaration muss so aussehen :

Code:
    void testArray(char (*feld)[80] , int len) {    {

    //einfache und foramtierte Ausgabe des array's
    // Hier kannst du mit feld arbeiten wie in der aufrufenden Funktion !"
    }

Viel Erfolg weiterhin,

Peter
 
ja werde daran denke aber glaub ich hab in den nächsten paar Minuten
noch Fragen. Deswegen lass ich den Beitrag offen.

mfg meccan
 
Hallo!
Ich bin noch C-Anfänger und habe ein Problem mit der Parameterübergabe von Feldern.
Meine Grund-Idee sieht so aus:
Code:
#include <stdio.h>
#include <conio.h>

char funktion()
{
	char f[3];

	f[0]='A';
	f[1]='B';
	f[2]='C';

	return f;
}

void main()
{
	int i=0;
	char g[3];

	g=funktion();

	for(i=0;i<3;i++)
		printf("%c",g[i]);
}

Was muss ich verändern damit das Feld g mit den Werten von Feld f gefüllt wird?

Danke
Mfg Leo
 
Zurück