Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

variable char
dyli
Débutant
Débutant
Messages : 33
Enregistré en : février 2017

#1 Message par dyli » sam. 18 févr. 2017 21:49

Bonsoir tout le monde,

Ma question concerne le variable char en langage c

c'est quoi la diffrence entre ces 2 ecritures, pourquoi le 1er est entre [ ]; et que fait le signe etoile apres char: char *text;



char chiffre[10];
char *text;
Merci d'avance pour ceux qui peuvent me répondre

variable char
Jérémy
Administrateur du site
Administrateur du site
Messages : 2722
Âge : 44
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#2 Message par Jérémy » sam. 18 févr. 2017 22:12

Bonsoir dyli et bienvenue à toi sur fantasPIC,

Je ne suis pas fort en langage C mais j'apprends aussi !

Ce ne sont pas tout à fait des variables à proprement parlé.

Un char est une variable pouvant contenir une valeur allant de 0 à 255 chez MikroC!
En effet si rien n'est spécifié et par défaut il est comprit comme un unsigned char.
Si on écrit signed char, cette valeur peut varier de -127 à 128 , en réservant le bit de poids fort pour le signe.

char chiffre[10];

ceci est tableau de 10 cases, et dans chacune des cases il peut se trouvé un char .

char *text;

Ceci est une notion très délicate pour moi . Il s'agit d'un pointeur qui se nomme text . MAis je laisse la main à quelqu'un de plus calé de moi sur ce sujet !
C'est en faisant des erreurs, que l'on apprend le mieux !!!

variable char
dyli
Débutant
Débutant
Messages : 33
Enregistré en : février 2017

#3 Message par dyli » sam. 18 févr. 2017 22:18

Merci Jérémey pout ta réponse.

variable char
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#4 Message par paulfjujo » dim. 19 févr. 2017 15:46

bonjour Dly,

il va falloir retrousser les manches et potasser un peu pour acquerir les bases ..

Un pointeur "pointe sur " quelque chose
chose qui a un format bien precis (la plupart du temps , car il existe le format void !).

dans l'exemple
char TEXTE[80]; // un tableau de 80 cases pouvant contenir 80 octets
// ou une chaine de charactere (= phrase) de 79 caracteres + la valeur zero (terminateur de chaine)
char * txt; // un pointeur sur un emplacement contenant un caractere

ATTENTION : au depart le pointeur n'est pas initialisé.. pointe sur NULL par defaut.
il faut l'initialiser avant de l'utiliser

ex:
txt=&TEXTE[0]; // txt pointe sur l'adresse de la 1ere case du tableau TEXTE
*(txt)='A'; // range le caractere A dans la cas pointéee par txt => donc atterit dans Texte[0];
*(txt+1)='B'; //range le caractere B dans la cas pointéee par txt+1 => donc atterit dans Texte[1];
*(txt+2)='C'; //range le caractere B dans la cas pointéee par txt+1 => donc atterit dans Texte[2];
*(txt+3)=0; // terminateur de chaine dans Texte[2];

si on fait LCD_OUT(1,1,TEXTE); // on verra s'afficher la chaine "ABC"
de meme avec
LCD_OUT(1,1,txt); // equivalent

par contre on pourrait definir un autre tableau
char MSG[]= "BONJOUR";
et faire
txt=&MSG[0]; // on initialise le pointeur sur le debut de tableau MSG
LCD_OUT(1,1,txt); // affiche maintenant "BONJOUR"
txt=&TEXTE[0]; // on initialise le pointeur sur le debut de tableau TEXTE
LCD_OUT(1,1,txt); // affiche maintenant "ABC"


un pointeur peut aussi pointer sur un tableau d'entier, un nombre flottant, un tableau de pointeurs,une structure,une union ...etc

Il est tres important d'etudier les bases du LANGAGE C
http://heights-book.blogspot.fr/2015/11 ... -Ansi.html (en francais)
voir paragraphe 5 Tableaux et pointeurs
...je ne peux pas joindre ici ce fichier pdf de 26MO !

idea ! il y a Aussi multe source d'info sur le Web ...
Aide toi, le ciel ou FantasPic t'aidera

variable char
dyli
Débutant
Débutant
Messages : 33
Enregistré en : février 2017

#5 Message par dyli » dim. 19 févr. 2017 16:01

Bonjour paulfjujo,

Merci de votre réponse, vous avez l'air de bien connaitre le langage C.


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 53 invités