Dynamically access variable

I would like to access a variable (previously created) that would be a string + a number that I get in a function. it is possible?

I wanted to transform this:

void onSelectedLed(int led) {
  offLeds();
  switch (led) {
    case 1:
      digitalWrite(led1, HIGH);
      break;
    case 2:
      digitalWrite(led2, HIGH);
      break;
    case 3:
      digitalWrite(led3, HIGH);
      break;
    case 4:
      digitalWrite(led4, HIGH);
      break;
    case 5:
      digitalWrite(led5, HIGH);
      break;
    case 6:
      digitalWrite(led6, HIGH);
      break;
    case 7:
      digitalWrite(led7, HIGH);
      break;
  }

}

in something like this:

void onSelectedLed(int led) {
  offLeds();

      digitalWrite("led"+char(led), HIGH);
}

Is there how I can dynamically call those variable in this case?
TNKS

maybe it would have been better for me to explain how I made the statements:

#define led1 A3
#define led2 A2
#define led3 A1
#define led4 A0
#define led5 13
#define led6 10
#define led7 6

you can pass led1, led2, ... as an integer argument to the function and use it as the first argument to digitalWrite()

Something like this?

const int leds[] = {3, 4, 5};
const int numLeds = sizeof(leds) / sizeof(int);

void setup()
{
  Serial.begin(115200);
}

void loop()
{
  static int ledCount = 0;
  onSelectedLed(ledCount++);
  delay(1000);
  ledCount %= numLeds;
}

void onSelectedLed(int led)
{
  if (led >= numLeds)
  {
    Serial.println("Invalid LED specified");
    return;
  }
  offLeds();
  digitalWrite(leds[led], HIGH);
}

void offLeds()
{
  for (int i = 0; i < numLeds; i++)
    digitalWrite(leds[i], LOW);
}