Sprawa wydawałaby się prosta: deklaruje statyczną tablicę w C. Nastepnie chce ją zmodyfikować w procedurze. Wydaje mi się, że potrzebny jest wskaźnik do wskaźnika.
Próbowałem tak:
#include<stdio.h>
#define N 7
void init(int** a, int n) {
int* ptr = *a;
for(int i = 0; i < n; ++i)
a[i] = -1;
}
int main(void)
{
int tablica[N];
init(&tablica, N);
return 0;
}
Wywala następujący warning:
main.c: In function ‘main’:
main.c:33:18: warning: initialization from incompatible pointer type [enabled by default]
A chcę pobrać adres pierwszego elementu. Następująca konstrukcja daje to samo:
init(&(tablica[0]), N);
Co robię źle?
Pozdrawiam,