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
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
A voir également:
- Chaîne de caractère en pascal ( limite de la taille )
- Comment réduire la taille d'un fichier - Guide
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Turbo pascal download - Télécharger - Édition & Programmation
- Caractère spéciaux - Guide
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
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.
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.
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
14 nov. 2014 à 15:53
Merci :)