Anzeige

VBA
Programmierer
gesucht?
 
Anzeige
VBA Programmierer gesucht?
 

Einfache C/C++ Beispiele für Einsteiger

Dynamische Felder über Funktionen anlegen

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));
}



Autor: Marc Wershoven (2001)

Zum Seitenanfang