Variablennamen oder Funktionsnamen zusammensetzen

Gast #2651307
Hallo Leute,

Ich programmiere schon etwas länger C und habe die Basics verstanden.
Leider habe ich öfter das Problem das ich entweder Variablen mit den 
Namen var1, var2, var3, ...varn
oder Funktionen mit den namen:
func1(),func2();func3(),...funcn()
wobei aus verschiedenen Gründen n > 500 sein kann.

In so Fällen wünsche ich mir dann oft das ich beispielsweise den 
Funktionsaufruf so gestalten könnte:

for(int i=1; i<500; i++)
{
func"i"()
}

also einfach den namen aus einem string und einer variabklen 
zusammensetze.
Geht sowas.

P.S.: das mein 2zeiler nicht funktioniert weiß ich
Gast
Günther schrieb:
> Ich programmiere schon etwas länger C und habe die Basics verstanden.

nein hast du nicht, sonst würde du diese Frage nicht stellen. Nach der 
compilieren gibt es keine Variabelennamen mehr - damit ist klar das es 
nicht gehen kann.


int var1, var2, var3, ...varn

dafür gibt es arrays:

int var[n];


bei funktionen kann man des mit einem array von Funktionszeigern machen.
Gast
Günther schrieb:
> Ich programmiere schon etwas länger C und habe die Basics verstanden.

Dann müssten dir bisher aber auch die mysteriösen Zeiger schon mal 
aufgefallen sein.....

Such mal bei g**gle nach "Funktionszeigern", damit bekommst du dein 
Problem elegant gelöst.
Gast
Hm. Wenn du "des öfteren" solch ein Problem hast, progammierst du 
entweder des öfteren etwas sehr, sehr spezielles, oder dein 
Programmkonzept passt überhaupt nicht.

Aber egal, in solch einem Fall würde ich mir (mit Excel) ein Array mit 
Funktionspointern basteln, und über das dann interieren.

Im Falle der Variablen schreit das sowieso nach Arrays. Was spricht 
dagegen?

Oliver
Gast
Nein, geht nicht.

Für Variablen nimm einfach Arrays, und für Funktionen Arrays, die Zeiger 
auf die jeweiligen Funktionen enthalten.

Wobei ich behaupten möchte, dass Dein Ansatz zumindest problematisch ist 
- Wozu um alles in der Welt brauchst Du über 500 ähnliche Funktionen?
Mit an Sicherheit grenzender Wahrscheinlichkeit lässt sich Dein Problem 
anders - und auch wesentlich eleganter - lösen.
Verrate doch mal mehr über Dein Problem - zu was sollen diese 500 
Funktionen denn gut sein?
@Günther (Gast)

>Leider habe ich öfter das Problem das ich entweder Variablen mit den
>Namen var1, var2, var3, ...varn

Dafür gibt es Arrays, die gehören zum GANZ kleinen 1x1 jeder 
Programmiersprache.

>oder Funktionen mit den namen:
>func1(),func2();func3(),...funcn()
>wobei aus verschiedenen Gründen n > 500 sein kann.

>In so Fällen wünsche ich mir dann oft das ich beispielsweise den
>Funktionsaufruf so gestalten könnte:

Nennt sich Funktionszeiger.

Funktionszeiger in C

Wobei ich mich frage, was ein Anfänger wie du mit 500 indizierten 
Funktionen macht.

>also einfach den namen aus einem string und einer variabklen
>zusammensetze.

Das geht nicht.

MFG
Falk

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.