Variable Zuordnung

OP #5766096
Lesenswert?
• ▲
▼
Hallo Zusammen,

ich möchte in einer Schleife mehrere IO-Expander de­kla­rie­ren

int i;

for(i=0; i<5; i++) {

char* Ex = "Expander";
strcat(Ex,i);
char* Ad = "Adresse";
strcat(Ad,i);

MCP23S17 Ex = MCP23S17(spi, p20 , Ad );

}

So sollte es Aussehen.

Funktionieren wird es natürlich nicht, jetzt kommt Ihr ins spiel ich 
benötige einen Schupser zur Lösung.

besten Dank im voraus
Dirk
Gast #5766133
Lesenswert?
• ▲
▼
strcat hängt eine Zeichenkette an eine andere an. Du machst hier zwei 
Fehler:

1) Deine Ziel-Variable hat gerade genug Platz für die initiale 
Zeichenkette ("Expander", "Adresse"). Du musst sie so deklarieren, dass 
mehr Speicherplatz reserviert wird, um Platz für die anzuhängende 
Zeichenkette zu reservieren.

2) i its keine Zeichenkette sondern ein Integer.

Danach deklarierst du eine neue Variable mit dem gleichen Namen 
(MCP23S17 Ex), das ist nicht zulässig. Variablen brauchen eindeutige 
Namen.

Ich würde Dir empfehlen, alle Compiler Warnungen zu aktivieren (Compiler 
Option -Wall) und diese auch zu zeigen, wenn du dazu Fragen hast. Denn 
so Sätze wie "geht nicht" sind keine gültige Fehlermeldung. Das kannst 
du in der Autowerkstatt auch nicht bringen.
Beitrag #5766134 wurde von einem Moderator gelöscht.
Gast #5766148
Lesenswert?
• ▲
▼
Jim M. schrieb:
> Dirk S. schrieb:
>> benötige einen Schupser zur Lösung.
>
> Besorge Dir ein gutes Buch über die Programmiersprache C oder besser
> noch C++. C ist nicht grade als für Einsteiger freundlich bekannt.

Einsteigern kann ich für das erste Wochenende die Anleitung von Arduino 
empfehlen. Da ist das allerwichtigste so kurz und knapp beschrieben, wie 
nur möglich.

Man sollte nur bedenken, dass es danach noch mehr zu lernen gibt. Also 
nicht an dieser Stelle aufhören und als "Experienced Senior Embedded 
Developer" ahnungslose Firmen beraten.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.