Inhalt vom Array abfragen

Gast #567977
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
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
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
#568182
Wenn das Array einen Nullterminierten String enthält, dann helfen Dir 
die Funktionen aus der string.h (z.B. strcpy) dabei. Ist das nicht der 
Fall, dann musst Du das ganze selbst in einer Schleife erledigen (oder 
dafür sorgen, dass Dein Array am Ende eine 0 enthält).
#568623
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
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

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.