It would work but it doesn't need to be that complicated. Unless you need the last distinct 100 RSSI values don't store them into the array, just do the sum! This way you'd be saving 100 bytes of memory and there's a chance the code would be a tad more efficient (because only one memory location would be used so it wouldn't need to do pointer arithmetic):
int GetAverageRSSI(void) {
int counter = 0;
for (int i=0;i<100;i++) counter = counter + a2dConvert8bit(1);
return counter / 100;
}