mikrocontroller.net

Forum: Compiler & IDEs Array an eine Funktion übergeben


Autor: Michael B. (gm8816)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
wie kann ich ein Array an eine Funktion übergeben?

habe es so versucht:
void Funktion(int array[])
{

}

Leider liefert mir der Compiler dabei immer einen Fehler.

Autor: hein (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß garnich ob des in C Funktioniert. Aber wenn doch sollte der Typ 
Integer Array sein, also:
void Funktion(int[] meinarray);

mfg

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Übergib einfach die Adresse deines Array´s mit einem Pointer.


int array[];

void Funktion(&array)
{

}

Autor: Marco S (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht doch: gcc -Wall -pedantic main.c && ./a.out

main.c:
#include <stdio.h>

void Funktion(int array[])
{
        int i = 0;
        while (array[i] > 0)
                printf("%d\n", array[i++]);
}

int main(int argc, char ** argv) {
        int a[] = {1, 2, 99, 9, 7, 0};
        Funktion(a);
        return (0);
}

Ausgabe:
1
2
99
9
7

Autor: Eduard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der eintrag von  Gast (Gast) "void Funktion(&array)" geht erstmal gar 
nicht.

Hier ein kleines Beispiel mit Deklaration und Aufruf
[] - Optional
int array[1000];
// Im allgemeinen sieht eine Funktionsdeklaration so aus
// Rückgabewert Funktionsname(Datentyp [Pointer] NAME) Befehl
void funktion(int *array) 
{
}

void main
{
   funktion(array);      // Adresse des ersten Elements
   funktion(&array[0]);  // Das selbe nur lesbarer
                         // & liefert Adresse
}
[] - Optional

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
s/Deklaration/Definition/ ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.