Forum: Mikrocontroller und Digitale Elektronik Variablen zwischen Funktionen


von TeleTubby Reloaded (Gast)


Lesenswert?

Hallo

Ich bin grad dabei, mich mit GCC vertraut zu machen. Im Moment hab ich 
Verständnisschwierigkeiten was Variablen und deren Übertragung zwischen 
Funktionen anbelangt. Vielleicht kann mir jemand bei folgendem Beispiel 
helfen und es richtig stellen:





#include <math.h>


void main (void)
   {
   int zahl;
   zahl = 16;

   int addition;
   int multiplikation;
   int potenz;

   rechnung(zahl);

   printf(addition, multiplikation, potenz)
   }





void rechnung(zahl)
   {
   addition = zahl + zahl;
   multiplikation = zahl * zahl;
   potenz = pow(zahl,zahl);

   return addition, multiplikation, potenz;
   }

von Stefan E. (sternst)


Lesenswert?

Es gibt mehrere Möglichkeiten, das zu realisieren. Statt dir hier jetzt 
den fertigen Code hinzuschmeißen, wäre es für dich deutlich lohnender, 
wenn du dir ein C Buch besorgst (bekommt man auch in nahezu jeder 
Bibliothek geliehen) und das einmal durcharbeitest. Denn der fertige 
Code würde Pointer enthalten, und es sieht nicht so aus, als ob du die 
schon kennst.

von Lutz (Gast)


Lesenswert?

>> Statt dir hier jetzt den fertigen Code hinzuschmeißen, wäre es für
>> dich deutlich lohnender, wenn du dir ein C Buch besorgst (bekommt
>> man auch in nahezu jeder Bibliothek geliehen) und das einmal durcharbeitest.

Sehe ich genau so. Es fehlt anscheinend schon am Aufbau einer Funktion.
void rechnung (zahl)
 return ....
Man sollte wirklich erst mal das Grundlagenzeugs durchlesen, denn wenn 
man Programmieren unstrukturiert lernt, merkt man sich am Anfang 
meistens etwas falsches, was erstmal wieder gelöscht werden muß und den 
Prozeß auch noch verlängert ...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Denn der fertige Code würde Pointer enthalten...
Er könnte auch globale Variable enthalten...

@ TeleTubby Reloaded
1
void main (void)
2
   {
3
   int zahl;
4
   zahl = 16;
5
6
   int addition;
7
   int multiplikation;
8
   int potenz;
9
10
   rechnung(zahl);
11
12
   printf(addition, multiplikation, potenz)
13
   }
Deine Quellcode-Formatierung/Einrückung wird dir noch einige Haare 
kosten...
Wenn inakzeptabel das Gegenteil von akzeptabel, und tolerant von 
intolerant wäre, dann wäre deine Schreibweise tuitiv  ;-)
Sieh dir mal andere C-Programme an.

von Das Nichts (Gast)


Lesenswert?


von TeleTubby Reloaded (Gast)


Lesenswert?

naja, es sind auch bloß die ersten Gehversuche...

von Karl H. (kbuchegg)


Lesenswert?

TeleTubby Reloaded schrieb:
> naja, es sind auch bloß die ersten Gehversuche...

Trotzdem hat es wenig Sinn, wenn du hier unsystematisch vorgehst.
Zum Thema Funktionen und Argumentübergabe hat jedes noch so grindige 
Buch mindestens 20 Seiten lang Dinge zu erzählen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.