Zeigt die Anlage von dynamischen Feldern über eine Funktion.
// ************************************************************************************************
// Autor/en: http://www.online-vba.de - Marc Wershoven
// Verwendung der Quelltexte auf eigene Gefahr!
// Es gelten die Nutzungsbedingungen von www.Online-VBA.de!
// Original-Quelltext: www.online-vba.de/cpp_dynfeldfkt.php
// ************************************************************************************************
#include <stdlib.h>
int * setze(int);
void setze2(int**, int); // Adresse auf int * f
void main()
{
int * f;
f=setze(5);
setze2(&f,5); //Adresse von Feld f wird übergeben
f[2]=2; //durch Funktion möglich
}
int * feld(int wert)
{
return (int*) malloc(wert*siteof(int));
}
void setze2(int** pointerauffeld, int groesse)
{
pointerauffeld=(int*)malloc(groesse*sizeof(int));
// * bedeutet Inhalt an der Stelle, in diesem Fall die Adresse des Feldes f.
}
// ************************************************************************************************
// Autor/en: http://www.online-vba.de - Marc Wershoven
// Verwendung der Quelltexte auf eigene Gefahr!
// Es gelten die Nutzungsbedingungen von www.Online-VBA.de!
// Original-Quelltext: www.online-vba.de/cpp_dynfeldfkt.php
// ************************************************************************************************
#include <stdlib.h>
int ** erzfeld2dima(int,int);
void erzfeld2dimb (int***, int, int); // Adresse auf int ** start
void main()
{
int ** start;
start=erzfelddima(5,7);
erzfeld2dimb(&start,5,7); //Adresse von Feld start wird übergeben
f[2][2]=2; //durch Funktion möglich
}
int ** erzfeld2dima(int x,int y)
{
int i;
int ** plokal;
plokal=(int**)malloc(x*sizeof(int*));
for(i=0;i<x;i++)
plokal[i]=(int*)malloc(y*sizeof(int));
return plokal;
}
void erzfeld2dimb(int *** p, int x, int y);
{
int i;
p=(int**)malloc(x*sizeof(int *));
for(i=0;i<x;i++)
(*p)[i]=(int*)malloc(y*sizeof(int));
}