Forum: Compiler & IDEs Array an eine Funktion übergeben


von Michael B. (gm8816)


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.

von hein (Gast)


Lesenswert?

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

mfg

von Gast (Gast)


Lesenswert?

Übergib einfach die Adresse deines Array´s mit einem Pointer.


int array[];

void Funktion(&array)
{

}

von Marco S (Gast)


Lesenswert?

Geht doch: gcc -Wall -pedantic main.c && ./a.out

main.c:
1
#include <stdio.h>
2
3
void Funktion(int array[])
4
{
5
        int i = 0;
6
        while (array[i] > 0)
7
                printf("%d\n", array[i++]);
8
}
9
10
int main(int argc, char ** argv) {
11
        int a[] = {1, 2, 99, 9, 7, 0};
12
        Funktion(a);
13
        return (0);
14
}

Ausgabe:
1
2
99
9
7

von Eduard (Gast)


Lesenswert?

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

Hier ein kleines Beispiel mit Deklaration und Aufruf
[] - Optional
1
int array[1000];
2
// Im allgemeinen sieht eine Funktionsdeklaration so aus
3
// Rückgabewert Funktionsname(Datentyp [Pointer] NAME) Befehl
4
void funktion(int *array) 
5
{
6
}
7
8
void main
9
{
10
   funktion(array);      // Adresse des ersten Elements
11
   funktion(&array[0]);  // Das selbe nur lesbarer
12
                         // & liefert Adresse
13
}
[] - Optional

von Stefan B. (stefan) Benutzerseite


Lesenswert?

s/Deklaration/Definition/ ;-)

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.