Inhalt vom Array abfragen

Gast #567977
Lesenswert?
• ▲
▼
Hallo! Ich brauche mal eben schnell ne Lösung für ein Problem.
Ich habe ein Array

test[1] = '2';

Dieser Inhalt kann verändert werden.

test[1] = '3';

test[1] = '0';

test[1] = '4';

test[1] = '1';

etc...
Jetzt soll ich mit einer Programmieranweiung abfragen, ob der Array 
kleiner als 2 ist!
Wie mach ich das am besten ?

test[1] < 2;

zu programmieren funktioniert leider nicht!

MFG Frank
#567989
Lesenswert?
• ▲
▼
1
if(test[1] < '2')
2
{
3
    //Anweisungen
4
}
sollte funktionieren. Die ASCII-Zeichen für die Ziffern stehen in der 
ASCII-Tabelle direkt hintereinander, beginnend mit 0x30 für '0', dann 
0x31 für '1' usw... Für den Compiler ist '2' nichts anderes als 0x32, 
und damit kann man dementsprechend größer-kleiner-gleich-Abfragen machen 
wie mit einer "normalen" Zahl.
Gast #568177
Lesenswert?
• ▲
▼
Hallo !
Ich habe noch eine weiter Frage zu Arrays.
Abgenommen ich habe mein Array
char test[256];

Den Inhalt von test[] möchte ich gerne an einen zweiten Array neu[] 
direkt übergeben.

char neu[256];

Wie realisiere ich den so etwas ?
So wird es wohl nicht funktionieren !!!

neu = test;

Gibt es überhaupt so eine Möglichkeit ?

Danke schon mal für Eure freundliche Unterstützung !!!

Mfg Frank
#568623
Lesenswert?
• ▲
▼
Frank wrote:
> neu = test;

Wenn du nur eine Referenz auf das Array haben willst, also keine Kopie, 
kannst du das mit pointern machen. Und dann funktioniert das ziemlich 
ähnlich wie in der Zeile:
1
char alt[256];
2
char* neu;
3

4
neu = alt;
Du musst dann halt auf den Inhalt über den Pointer zugreifen, also 
alt[0] ist dann über *neu anzusprechen. Wenn du jetzt Werte in neu 
veränderst wirkt sich das aber auch auf alt aus.
#568625
Lesenswert?
• ▲
▼
Dominik Riebeling wrote:

> Du musst dann halt auf den Inhalt über den Pointer zugreifen, also
> alt[0] ist dann über *neu anzusprechen.

Du kannst aber auch ganz normale Array Syntax benutzen:
1
   char alt[256];
2
   char* neu;
3

4
   neu = alt;
5
   neu[0] = 5;    // greift auf alt[0] zu

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.