Change Setup section parameters through user inputs

#include <RF24.h>
#include <SPI.h>
#include <RF24Audio.h>
#include "printf.h"
RF24 radio(7, 8);
RF24Audio rfAudio(radio, 0);
int talkButton = 3;

void setup() {
  Serial.begin(115200);
  printf_begin();
  radio.begin();
  radio.printDetails();
  rfAudio.begin();
  pinMode(talkButton, INPUT);
  attachInterrupt(digitalPinToInterrupt(talkButton), talk, CHANGE);
  rfAudio.receive();
}
void talk()
{
  if (digitalRead(talkButton)) rfAudio.transmit();
  else rfAudio.receive();
}
void loop()
{
}

I got this basic sketch for my DIY communication system. I hope to do some modification in my project. I hope develop channel select feature to this sketch. To do that I want to change setup section parameters using input types. (buttons).
Is it possible to change setup section parameters using loop section inputs. I addressed this question to see if this could be done. I hope someone who knows will answer. If you know more about that Please put reference internet link for more details.
thankyou

there is no really big difference between setup() and loop() from a compiler point of view, both are functions being called and executed. The only difference is that the main() function that is generated automagically for you by the IDE calls setup() only once and loop() repeatedly.

You can decide to have the parameters taken into account in the setup and then that piece of code will only be executed once (but can include a while loop to wait for user input) and then you proceed to the loop() or you can put your code to handle parameters changes in the loop() and then you'll have opportunity to change the parameters all the time (unless you set a flag to stop checking for new parameters once they have been selected).

so long story short, your call.

void setup()
{
  ... // prepare stuff

  // active wait for parameters
  while (true) 
    if (getParameters()) break; // function getParameters returning true once user has provided the parameters

  ... // code that will only execute when params have been provided
}

void loop() {
...
}

or if you want it in the loop()

void setup()
{
  ... // prepare stuff
}

void loop() {
  static bool gotParameters = false;

  if (! gotParameters) {
    if (gotParameters = getParameters()) { // function getParameters returning true once user has provided the parameters
      ... // you got the parameters, use them to perform the setup
    }
  } else {
    ... // code that will only execute when params have been provided
  }
  ... // code that will always be executed 
}

Thank you very much for your useful opinion.