Chaîne de caractère en pascal ( limite de la taille )

Fermé
altaiir8 Messages postés 39 Date d'inscription dimanche 22 juin 2014 Statut Membre Dernière intervention 19 avril 2015 - 14 nov. 2014 à 12:09
altaiir8 Messages postés 39 Date d'inscription dimanche 22 juin 2014 Statut Membre Dernière intervention 19 avril 2015 - 14 nov. 2014 à 15:53
Salut,

Quelqu'un pourrai m'expliquer pourquoi la limite d'une chaîne de caractère ( string) en pascal est de 255 caractère seulement ?

Merci
A voir également:

2 réponses

nicocorico Messages postés 799 Date d'inscription dimanche 19 juin 2011 Statut Membre Dernière intervention 3 juillet 2018 138
14 nov. 2014 à 14:42
Bonjour,

Oui effectivement la limite est fixée à 255 pour le type chaine courte, et la raison est technique : puisqu'une chaine est un bloc de mémoire de taille variable, elle existe en format compact mais limité en taille, ou en format large mais plus coûteux.

La chaine courte est stockée localement, soit sous forme de constante compacte soit sous forme de tableau de 255 caractères, et contient un simple octet définissant le nombre de caractères significatifs - de 0 à 255 caractères max donc- ainsi qu'un zéro terminal selon les langages. Donc lorsqu'on utilise un type chaîne courte sans préciser de taille, elle est allouée à son maximum de 255 caractères, l'octet de taille indiquant la taille utilisée.
Ensuite la chaine longue, non limitée en taille, est un type chaine à zéro terminal. Sa mémoire est allouée dynamiquement et peut donc être redéfinie au besoin, et elle contient un compteur de référence et la taille du bloc alloué...

Les deux types sont à utiliser en fonction des besoins, en prenant notamment en compte la limite de taille. En pratique il vaut mieux privilégier le type court tant que possible, et même en limitant la taille de sa mémoire au maximum qu'on y stockera tant que possible.
0
altaiir8 Messages postés 39 Date d'inscription dimanche 22 juin 2014 Statut Membre Dernière intervention 19 avril 2015
14 nov. 2014 à 15:53
Merci :)
0