Zweidimensionale Felder in C

Erzeugung eines Zweidimensionalen Arrays in C



//Zweidimensionales Array in C
 
#include <stdio.h>
#include <stdlib.h>
 
 
int main( int argc, int *argv[] )
{
  // Eindimensionales Array anlegen
  int arr[10][20];
 
  // Zeigerarray anlegen und mit malloc*Zeilengröße allokieren
  int **arr2D = (int**) malloc( sizeof(int*) * 10);
 
 
  int i;
  for (i=0; i<10; i++)
    arr2D[i] = arr[i]; // Zeiger jeder Zeile in arr2D auf die Startadresse von arr setzen
 
 
  return 0;
}
Beachten Sie bitte die int-Initialisierung der For-Schleife nicht im Schleifenrumpf zu definieren sondern vor die Schleife zu setzen, da sich sonst der c99 Standard >>ISO/IEC 9899:1999<< meldet und eine Warnung wie diese ausspuckt:

>>loop initial declaration used outside c99 mode<<

siehe auch: