sizeof von Stringarray

@ size (Gast)

>Das Problem ist, Wortsize ergibt beim Debuggen stets 4.

Logisch, das ist die Länge des POINTERS wort, welcher ein Pointer auf 
einen Char ist. Die Länge deines Strings kann man so nicht ermittlen, 
dafür gibt es die Funktion strlen(); Die Länge eines allgemenen Arrays 
kann so auch nicht bestimmt werden, das geht nur mit konstanten Arrays. 
über ein Pointer geht es nie! Und Arrays/Strings werden in C IMMER als 
Pointer übergeben.
1
char meinstring[] = "Hallo Welt";
2

3
int l = sizeof(meinstring);
sizeof bei einem Array funktioniert dort, wo das Array auch definiert 
ist.

Dann liefert es die Größe (in Bytes) vom Array und nicht die Anzahl 
Zeichen, die dort abgelegt sind.

In deinem Fall ist das Stringliteral auch nur ein const char*. Du darfst 
es also nicht verändern
THOR schrieb:
> Ordner schrieb:
>> Benutze strlen() ;
>>
>> http://stackoverflow.com/questions/15000544/get-st...
>>
>> Stackoverflow ist IMHO eh die bessere Adresse für Fragen zur
>> Programmierung.
>
> Da müsste man Englisch für können. Das ist für den modernen Copypaste
> Programmierer natürlich eine Hürde.

Egal, die Antwort mit der höchsten Zustimmung wird kopiert und solange 
verändert, bis der Compiler nicht mehr meckert.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 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.