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é.