Filling an array with analog values from four sensors

In my code, I want to store the values of four analog sensors in an array to iterate through them using for loop and check whether the value returned from any of the sensors is within a certain range, but when I compile the code before uploading it to check for error, I keep getting an error.

SensorsArray = {analogRead(A1), analogRead(A2), analogRead(A3), analogRead(A4)};
 for (int i=0; (SensorsArray[i] > 100 && SensorArray[i] < 500); i++) { //some cdoe;}]

I expect it to compile without issues, but I get the following error as it highlights the line with the array above:

assigning to an array from an initializer list

SensorsArray = {analogRead(A1), analogRead(A2), analogRead(A3), analogRead(A4)};

I looked at that and thought that's either really clever or really dumb.

uint16_t SensorsArray[4];
void setup() {
  uint16_t SensorsArray = {analogRead(A1), analogRead(A2), analogRead(A3), analogRead(A4)};
}

Gives

scalar object 'SensorsArray' requires one element in initializer

Which does not surprise me at all, so 'really dumb' I guess.

Use a for loop to read each input and put the results in the array.

for (int i=0; (SensorsArray[i] > 100 && SensorArray[i] < 500); i++) { //some cdoe;}]

For that I didn't think that's either really clever or really dumb...

I don't think it does what you think it does, I've not tried to compile it, even if it does compile it won't cycle through the array, which is what I think you think it does. You are confusing the index, i, with the data stored in the array.

What's the point of using an array ?
I don't see what you gain.

int SensorsArray [] = {analogRead(A1), analogRead(A2), analogRead(A3), analogRead(A4)};
 for (int i=0; (SensorsArray[i] > 100 && SensorArray[i] < 500); i++) { //some code;}]

But why?