Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

In string.h werden keine String-Datentypen deklariert, deswegen gehe ich mal davon aus, dass du einen normalen C-String, also einen char* meinst.

Da gibt es prinzipiell keine Beschränkung, die können so groß werden wie dein gesamter Hauptspeicher. Allerdings werden Probleme auftreten, wenn die Länge den Wertebereich eines size_t übersteigt. Auf 32-Bit-Systemen wären das 4 GByte.

Es macht aber nicht viel Sinn, große Datenmengen in einem char-Array abzulegen. Was hast du denn vor?

Geschrieben

Nein, warum? Bei vielen Unix-Derivaten wird die Prozessgröße (bzw. Stack und Datensegmentgröße) durch eine Kernelvariable begrenzt die per Hand konfiguriert werden muss. Selbst bei 4GB RAM kann es Dir dann passieren, dass Du nur 256MB auf dem Stack oder im Datensegment allokieren kannst.

Nic

Geschrieben

ein char * ist in der regel (auf x86 systemen) 4 bytes groß.

Wie groß der Speicherbereich ist, auf den ein char * zeigt ist sache des Betriebsystems.

Meist zeigt man mit einem char * auf null-terminierte Strings. Ansich können die beliebig groß sein, deren maximal mögliche Größe hängt daher von OS ab

MfG, Michael

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...