Czysty C - tablica dwuwymiarowa dynamiczna jako parametr funkcji

2016-01-29 16:38
0

Witam mam sobie taki kodzik:

#include <stdio.h>
#include <time.h>
#include <string.h>
#define W 5
#define K 3
int Funkcja(int tab[][K], int k, int W, int tabout);
int main()
{
    /* Stworzenie dynamicznej tablicy dwuwymiarowej */
    int **tab;
    int i,j, k=2;
    int tabout[W];
    /* przydzial pamieci */
    tab = (int**)malloc(W*sizeof(int*));
    for (i=0; i<W; i++)
    tab[i] = (int*)malloc(K*sizeof(int));
    /* wypelnienie losowymi wartosciami */
    srand((unsigned)time(NULL));
    for (i=0; i<W; i++)
    for (j=0; j<K; j++)
    tab[i][j] = rand()%1000;
    /* wypisanie na ekranie */
    for (i=0; i<W; i++)
    {
        for (j=0; j<K; j++)
        printf("%4d", tab[i][j]);
        printf("\n");
    }
    /* Glowny watek programu */
    Funkcja(tab[][K], k, W, tabout[W]);
    /* zwolnienie pamieci */
    for (i=0; i<W; i++)
    free(tab[i]);
    free(tab);
return 0;
}
int Funkcja(int tab[][K], int k, int W, int tabout[])
{

    return 0;
}

Chodzi o to ze nie wiem w jaki sposob dynamiczna tablice dwuwymiarowa przekaza jako parametr do funkcji int Funkcja. Kombinowalem na rozne sposoby, ale nie bardzo wychodzi. Ktos doradzi / pomoze?

Pozostało 580 znaków

2016-01-29 17:06
1

int** tab


Pozostało 580 znaków

2016-01-29 17:12
2
Funkcja(int** tab, ...

int main()
{
    ...
    Funkcja(tab, ...)
}

Pozostało 580 znaków

2016-01-29 18:02
kq
1

int** to jest technicznie tablica tablic, a nie tablica 2d, ale dla większości zastosowań to powinno być bez różnicy.


Technicznie, to to jest wskaźnik na wskaźnik na int. :-P - Endrju 2016-01-29 18:22
Prawda. - kq 2016-01-29 18:23

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0