Il faut simplement remplacer les deux occurrences du mot char par le mot int, plus éventuellement modifier les noms des variables et de la fonction :
unsigned tablen(int *tableau) { for (int *p = tableau; *p; p++); return p -tableau; } On notera que, bien que les entiers int noccupent pas la même place mémoire que les caractères, les règles de larithmétique des pointeurs font que le nombre cherché est bien p - tableau, et non la moitié.