Ah ... Du hast ein array fester Größe, das Du aber nicht zwingend
vollständig mit für Dich wichtigen Daten füllst, ja?
Dann bringen Dich Berechnungen mit sizeof nicht weiter, denn woher soll
so eine Funktion wissen wie voll Dein array ist. Der Speicherplatz für
10 Strukturen ist so oder so belegt, ob Du dann sinnvolle Daten
reinpackst oder nicht spielt dann keine Rolle mehr.
Ich denke am sinnvollsten wäre es, noch eine Counter-Variable
einzuführen in die direkt bei der Registrierung Deiner Slaves die
gefundene Anzahl reingeschrieben wird, bzw ein Zähler bei jedem
erkannten Slave um eins erhöht wird.
Wie Du es gemacht hast geht es natürlich auch, aber wieso Rechenzeit
verschwenden um Werte auszurechnen, an die Du anders viel schneller und
einfacher kommen kannst? Oder gibt es noch einen Grund warum eine
Countervariable ausscheidet?