Archiv verlassen und diese Seite im Standarddesign anzeigen : c mehrdimensionales arrray an funktion übergeben
ich habe im main programm folgende mehrdimensionales aaray
void changenames(char names *names[][])
{
}
int main()
{
...
char names[256][256];
changenames(names...)
...
}
und zwar will ich das mehrdimensionale array an die funktion übergebene, aber als zeiger so das die änderung in der funktion auch auserhalb wirksam werden.
peschmae
20-06-2006, 12:03
Eine Möglichkeit wäre z.B.
void changenames(char names[256][])
{
}
Ist natürlich immer möglich dass das nicht genau passt - hab das jetzt gerade nicht getestet (gerade kein C-Compiler hier...)
Um Pointer/Nichtpointer musst du dir da eigentlich keine Sorgen machen - das Array wird sowieso nicht by value übergeben sondern nur die Adresse des ersten Elements - auch wenn dus mit char names[][] angibst
MfG Peschmä
danke ich probiere es mal aus,
mhhh geht nicht so ganz
pm.c: In function `main':
pm.c:47: error: incompatible type for argument 3 of `eval_argus'
bei übergeben meckert er herum
peschmae
20-06-2006, 18:04
Geht ohne Warnung bei mir:
void changenames(char names[][256])
{
}
int main()
{
char names[256][256];
changenames(names);
return 0;
}
funktioniert so natürlich nur wenn du vorher schon fix weisst wie gross das Array ist und das immer gleich gross ist.
Wenn du das nicht weisst artet das ganze typmässig ein bisschen aus, das hab ich jetzt auch nicht mehr genau im Kopf.
Auf jeden Fall ist bei so Sachen das C-FAQ immer eine gute Sache: http://c-faq.com/
MfG Peschmä
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.