Guten Morgen,

Ich Suche nach einer möglichkeit in einer Funktion mit Variablen zu arbeiten die nicht als Parameter übergeben werden müssen.

Ich habe zum beispiel eine datei main.c

Dort rufe ich die Funktion Berechnung; auf

Diese arbeitet mit Variablen die in 3 anderen Files deklariert und auch definiert werden.

Das Problem ist jetzt aber das es sehr viele sind,
z.B. 5 Arrys, 17 Variablen

Und in dieser Funktion überprüfe ich ob die Werte in den Arrays bestimmten Werten entsprechen. Ist dies der Fall wird eine Variable gesetzt.
Die Funktion wird aber wie folgt aufgerufen

Code:
Funkion(Array1, variable)
oder auch
Funktion(Array2, variable)
Jetzt müsste ich aber wissen Welches Array in der Funktion genutzt wird, sprich Array1 oder 2 oder 3 etc.

Oder ich könnte auch alle Arrays übergeben aber das wird extrem unübersichtlich. Deshalb Suche ich eine möglichkeit in der Funktion mit den Arrays zu arbeiten ohne diese als Parameter zu übergeben. Ich hoffe dies ist halbwegs verständlich.

Beispiel
Code:
void Berechnung(int 1, int 2, int 3, int 4, int 5, int *array)
{
	if(array[3] = 150)
	{
		1 = 12;
	}
	else
	{
		1 = 15;
	}
}

Oder

void Berechnung(int *array1, int *array2)
{
	if(array1[3] = 150)
	{
		array2[4] = 12;
	}
	else
	{
		array2[2] = 15;
	}
}
Die Funktion Berechnung wir mit verschiedenen Arrays aufgerufen.
Je nach dem mit welchem Array wird der Wert in eine andere Variable geschrieben.

Jetzt müsste ich die Funktion mit allen Array's als Parameter aufrufen und dann alle auswerten und die Variablen setzten.
Dann wäre es aber schön, wen ich nicht alle übergeben müsste.

Oder wen es eine Möglichkeit gäbe zu sehen mit welchem Array die Funktion aufgerufen würde müsste ich nur dieses Auswerten was auch eine gute Lösung wäre.

Ich hoffe ihr könnt mir da weiterhelfen