Analoge Werte in einem String/Array apspeichern

Hallo,
ich hab folgendes Problem ich möchte Analoge Werte in mehreren Variblen speichern, nur irgendwie weichen die Werte in dem Array sehr ab, ich weiß nicht wieso :~

Angeschlossen ist ein Potentiometer an A0.

Obwohl ich NICHT an dem Potentiometer drehe erhalte ich unterschiedliche Werte für string
> 1 - 1680
> 2 - 703
> 3 - 1506
> 4 - 703
> 5 - 592
> 6 - 703
> 7 - 703
> 8 - 703
> 9 - 703
> 10 - 703
Wenn ich den direkten Wert mir anzeigen lasse kommt immer der konstante Wert raus
> 703
folgenden code verwende ich
```
*int string[0];
int sensor;
int helligkeit_eingangs_wert;
int pin = A0;
int helligkeit;

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

void loop(){
 for (int i=1; i<=10;i++){
     sensor = analogRead(pin);
     string[i] = sensor;
     delay(100);
   }

for (int i=1;i<=10;i++){
   Serial.print(i);Serial.print(" - ");Serial.println(string[i]);
 }
}*
```
Was mach ich da falsch ich versteh das gar nicht O.o
Vielen Dank für hilfreiche antworten :slight_smile:

Du definierst das Array mit
int string[0];
als ein Array mit keinem Element.

Dann schreibst Du mit
for (int i=1; i<=10;i++){
9 Werte außerhalb des für das Array definierten Speicherbereich.

Die verschiedenen Werte beim lesen erhälst Du, weil die Speicherbereiche in der zwischenzeit teilwese überschrieben wurden.

Lösung:
int string[10];
und
for (int i=0; i<=9;i++){

Grüße Uwe

Es wäre unter Umständen auch gut, auf die Begrifflichkeiten zu achten. Das vermeidet Missverständnisse bei der Kommunikation und der Fehlerbeschreibung.

Ein "String" ist eine Zeichkette und damit eine Aneinanderreihung von "BYTEs" (nicht int), in C (C-String) abgeschlossen vom Wert "0" (nicht das Zeichen Null).
Im Prinzip ist ein C-String auch ein Array von "char" und kann auch als solches angesprochen / verwendet werden.

Was Du verwendest ist ein Array vom Typ "int". Damit besteht jedes Element Deines Arrays aus zwei Bytes, nämlich einem Int-Wert. Ein integer-Array mit "string" zu bezeichnen ist in C kein Problem, allerdings sollte man sowas vermeiden, da es verwirrend ist und die Fehlersuche erschwert.

Ansonsten hat Uwe ja schon den entscheidenden Hinweis zur Größe des Arrays gegeben.

Danke, da ich in der Programmierung noch ein Anfänger bin, ist mir das nicht bewusst gewesen, dass man sozusagen die Anzahl des Strings deklariert, wieviel man nutzen möchte :slight_smile:

Läuft soweit alles, vielen Dank euch beiden!

Werd noch an einer Sache bisschen arbeiten, falls ich da nicht weiterkomme werde ich nochmal eure Hilfe beanspruchen :wink:

Wir sind hier.
Grüße Uwe