Wie übergebe ich einen String korrekt an eine Funktion?
-
char string[MAX];
//Aufruf der Funktion
x = ConvertZ1(string);//Funktion
double ConvertZ1(char string[]){
..............................}wenn ich einen string so deklariere und an eine Funktion übergebe (double ConvertZ1(char string[])) (Programm läuft korrekt nur Warnungen erscheinen beim Kompilieren) erhalte ich folg. Warnungen :
: warning C4047: 'Funktion': Anzahl der Dereferenzierungen bei 'char' und 'char [20]' unterschiedlichund das bei den Funktionsaufrufen darum meine Frage wie bringe ich die weg?
big thx
-
du musst die addresse an die funktion übergeben:
void strfunc(char *str) { printf("%s",str); return; }
Die Funktion greift dann direkt auf den Speicherbereich der Variablen aus der aufrufenden Funktion zu. Wenn du in strfunc "str" änderst, dann ist der String aus der aufrufenden Funktion auch geändert.