déterminer la taille de la table si elle est transmise à la fonction

Est-il possible de déterminer la taille d'un tableau si il était passé à une autre fonction (la taille n'est pas passé)? Le tableau est initialisé comme int tableau[] = { XXX } ..

Je comprends qu'il n'est pas possible de faire sizeof puisqu'il sera de retour de la taille du pointeur de la souris .. Pourquoi je demande, c'est parce que j'ai besoin d'exécuter une boucle for à l'intérieur de la fonction, où le tableau est transmis. J'ai essayé quelque chose comme:

for( int i = 0; array[i] != NULL; i++) {
........
}

Mais j'ai remarqué qu'à la fin proche de la matrice, tableau[i] contient parfois des ordures des valeurs comme 758433 qui n'est pas une valeur spécifiée dans l'initialisation de la matrice..