Warning
This page is located in archive.

3. přednáška

Práce se dynamickým dvourozměrným polem

Dynamické dvourozměrné pole se deklaruje jako pointer na pointer. Nejprve je třeba definovat pole odkazů na řádky a teprve poté jednotlivé řádky. Pokud předem neznáme rozměry pole, musíme je předat jako parametry.

#include <stdio.h>
 
void vypis(int **p, int vyska, int sirka)
{
  int i,j;
  for(i=0;i<=vyska;i++)
  {
    for(j=0;j<=sirka;j++)
      printf("%d\t", p[i][j]);
    printf("\n");
  }
}
 
int main(void)
{
  int **pole, i, j;
 
  pole = (int **) malloc(5*sizeof(int*));
  for (i=0; i<5; i++)
    *(pole+i) = (int *) malloc(5*sizeof(int));
 
  for(i=0;i<=4;i++)
    for(j=0;j<=4;j++)
      *(*(pole+i)+j)=i+j;
 
  vypis(pole, 4, 4);
 
  return 0;
}
Zpět

courses/a7b36pjc/lectures/ds03/dypole-c.txt · Last modified: 2015/01/16 21:04 (external edit)