Variable type char en langage C
Résolu/Fermé
zebulon2503
Messages postés
1228
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
11 février 2016
-
21 déc. 2011 à 14:38
zebulon2503 Messages postés 1228 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 11 février 2016 - 22 déc. 2011 à 12:57
zebulon2503 Messages postés 1228 Date d'inscription jeudi 17 avril 2008 Statut Membre Dernière intervention 11 février 2016 - 22 déc. 2011 à 12:57
5 réponses
Geo373
Messages postés
600
Date d'inscription
mercredi 10 juin 2009
Statut
Membre
Dernière intervention
29 juillet 2014
96
21 déc. 2011 à 14:43
21 déc. 2011 à 14:43
Un char normal va de -128 à 127 alors qu'un unsigned char va de 0 à 255
mongo1994
Messages postés
877
Date d'inscription
vendredi 2 janvier 2009
Statut
Membre
Dernière intervention
5 juillet 2016
93
21 déc. 2011 à 14:41
21 déc. 2011 à 14:41
https://openclassrooms.com/fr/courses/19980-apprenez-a-programmer-en-c/15765-les-chaines-de-caracteres#ss_part_1
j'ai pas lu tout le truc mais, tu y trouvera surement ton bonheur?
j'ai pas lu tout le truc mais, tu y trouvera surement ton bonheur?
mongo1994
Messages postés
877
Date d'inscription
vendredi 2 janvier 2009
Statut
Membre
Dernière intervention
5 juillet 2016
93
21 déc. 2011 à 14:43
21 déc. 2011 à 14:43
Retenez bien :
Le type char permet de stocker des nombres allant de -128 à 127, unsigned char des nombres de 0 à 255.
Il y a une table que votre ordinateur utilise pour convertir les lettres en nombres et inversement.
On peut donc utiliser le type char pour stocker UNE lettre.
'A' est remplacé à la compilation par la valeur correspondante (65 en l'occurrence). On utilise donc les apostrophes pour obtenir la valeur d'une lettre.
Le type char permet de stocker des nombres allant de -128 à 127, unsigned char des nombres de 0 à 255.
Il y a une table que votre ordinateur utilise pour convertir les lettres en nombres et inversement.
On peut donc utiliser le type char pour stocker UNE lettre.
'A' est remplacé à la compilation par la valeur correspondante (65 en l'occurrence). On utilise donc les apostrophes pour obtenir la valeur d'une lettre.
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
Modifié par jisisv le 21/12/2011 à 15:29
Modifié par jisisv le 21/12/2011 à 15:29
Attention cependant avec les chaînes Unicode, qui ne sont pas supportées nativement:
#include <stdlib.h> #include <stdio.h> #include <string.h> int main(coid) { char *format = "Length of '%s' %d\n"; char *st1 = "abc"; char *st2 = "éçà"; printf(format, st1, strlen(st1)); printf(format, st2, strlen(st2)); exit(EXIT_SUCCESS); } johand@osiris: ~/src/CCM/C $ ./chartest Length of 'abc' 3 Length of 'éçà' 6
zebulon2503
Messages postés
1228
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
11 février 2016
110
21 déc. 2011 à 14:45
21 déc. 2011 à 14:45
Merci à vous 2.
Mais dans le cas où je veux par exemple stocker 4000 caractères, quelle type de variable dois je utiliser ?
(Je vous promet, dernière question sur le sujet :-) )
Merci encore !
Mais dans le cas où je veux par exemple stocker 4000 caractères, quelle type de variable dois je utiliser ?
(Je vous promet, dernière question sur le sujet :-) )
Merci encore !
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
21 déc. 2011 à 15:22
21 déc. 2011 à 15:22
hello
uin tableau de char
uin tableau de char
char tableau[3999] ;
mongo1994
Messages postés
877
Date d'inscription
vendredi 2 janvier 2009
Statut
Membre
Dernière intervention
5 juillet 2016
93
21 déc. 2011 à 15:06
21 déc. 2011 à 15:06
salut
on poste pour avoir des réponses, et on te répondrais pas si ca nous embetais donc y a aucun soucis.
mais je ne suis pas très loin en programmation mais, si tu met un Void ca peux pas passer? et puis tu écris char et tu inclus dedan la variable nomée void comme ca, ca devrais ptetre passer?
enfin, je suis pas très callé en programation mais , il me semble que ca peut se tenter.
on poste pour avoir des réponses, et on te répondrais pas si ca nous embetais donc y a aucun soucis.
mais je ne suis pas très loin en programmation mais, si tu met un Void ca peux pas passer? et puis tu écris char et tu inclus dedan la variable nomée void comme ca, ca devrais ptetre passer?
enfin, je suis pas très callé en programation mais , il me semble que ca peut se tenter.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Geo373
Messages postés
600
Date d'inscription
mercredi 10 juin 2009
Statut
Membre
Dernière intervention
29 juillet 2014
96
Modifié par Geo373 le 21/12/2011 à 15:20
Modifié par Geo373 le 21/12/2011 à 15:20
Un short (2 octets) te permet déjà d'aller jusqu'à 65536 mais vu les ordinateurs de maintenant, utilises un int (4 octets) ou long (4 milliards et quelques). C'est pas la place qui manque.
Quand tu parles de caractère, tu veux dire un nombre ou une phrase de 4000 lettres?
Quand tu parles de caractère, tu veux dire un nombre ou une phrase de 4000 lettres?
zebulon2503
Messages postés
1228
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
11 février 2016
110
21 déc. 2011 à 15:29
21 déc. 2011 à 15:29
Je veux savoir si ca est possible :
Ca serait pour stocker des mots voire de longues phrases.
char variableA[4000+1];
Ca serait pour stocker des mots voire de longues phrases.
Geo373
Messages postés
600
Date d'inscription
mercredi 10 juin 2009
Statut
Membre
Dernière intervention
29 juillet 2014
96
21 déc. 2011 à 15:35
21 déc. 2011 à 15:35
Ah oui ça c'est possible, tu peux mettre le nombre que tu veux entre crochet tant que ça rentre dans la plage mémoire e ton PC. Du moment que ton nombre est plus grand que la longueur du texte à rentrer, il n'y aura pas de soucis
zebulon2503
Messages postés
1228
Date d'inscription
jeudi 17 avril 2008
Statut
Membre
Dernière intervention
11 février 2016
110
22 déc. 2011 à 12:57
22 déc. 2011 à 12:57
Ok merci :-)