Bonjour à tous.

Je me tourne vers vous car j'ai une erreur de pointeur que je ne m'explique pas.
J'ai un tableau d'éléments dont je voudrais passer l'adresse à une fonction pour le modifier :
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
void f(int *ti[]) {
	printf("Hello %i", *ti[0]); //par exemple
}
 
int main() {
	int ti[] = {3, 14, 15};
	f(&ti);
	return 0;
}

Je pensais ce code valide, mais le compilateur me dit le contraire et à l’exécution j'ai droit à un segfault.
La compilation avec gcc -o cast -Wall -Wextra main.c me donne comme erreur :
main.c: In function ‘main’:
main.c:9:2: warning: passing argument 1 of ‘f’ from incompatible pointer type [enabled by default]
f(&ti);
^
main.c:3:6: note: expected ‘int **’ but argument is of type ‘int (*)[3]’
void f(int *ti[]) {
^
Quelque-chose m’échappe, aussi je souhaiterais être éclairé de vos lumières