begin process at 2012 05 30 07:22:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

question à propos du * pour les tableau de caracteres


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

question à propos du * pour les tableau de caracteres

mercredi 7 décembre 2005 à 17:25:21 | question à propos du * pour les tableau de caracteres

Amanobuo

Membre Club
Bonjour !
Je m interroge sur l utilisation du * apres le type d une variable
j ai compris par quelques tests et de tutos qu'il s agit de l'adresse d'une la variable.

Cependant j essaye de faire un tableau de chaine de caracteres et avec ce code :

char  tab[3][3]={{"a1","b","a"},
                           {"f","g","f"}}; 

j ai une erreur :  invalid conversion from `const char*' to `char'

apres avoir mis une * apres char, le programme compile et je peut affigher ses elements
et je voudrai bien savoir pourquoi on est obligé de declarer un pointeur pour un simple
tableau de caractere (si obligation il y a).

merci !




mercredi 7 décembre 2005 à 17:36:54 | Re : question à propos du * pour les tableau de caracteres

luhtor

char  tab[3][3]={{'a1','b','a'},
                           {'f','g','f'}}; 


'X' est un caractère, "X", une chaine de caractère.

mercredi 7 décembre 2005 à 17:47:34 | Re : question à propos du * pour les tableau de caracteres

Amanobuo

Membre Club
Bon a savoir,
mais pourquoi utiliser un operateur d' indirection * pour un tableau de chaine ?
mercredi 7 décembre 2005 à 17:52:03 | Re : question à propos du * pour les tableau de caracteres

buno

Administrateur CodeS-SourceS

Attention!
Dans ton 1er message, tab était en fait un tableau 2D de chaine de caractères (donc un tableau 2D de "char *")
Dans la correction de Luhtor, tab devient un tableau 2D de caractères (et donc un tableau 2D de "char")

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...

mercredi 7 décembre 2005 à 18:06:53 | Re : question à propos du * pour les tableau de caracteres

Amanobuo

Membre Club
d'acco
donc il existe une différence dans la déclarations entres les chaînes et les caractères simple (guillemets simples ou double)
et que dans le cas d'une chaine on met un * ? mais je ne vois pas le rapport avec une chaine de caractères et les pointeurs...
mercredi 7 décembre 2005 à 18:34:15 | Re : question à propos du * pour les tableau de caracteres

luhtor

Réponse acceptée !
int tableau[4] <= un tableau de 4 entier.

La première case en mémoire du tableau a l'adresse &tableau[0] ou tableau.

&tableau[0] est de type (int *), tableau aussi.

tableau[3] = *(tableau + 3); <= c'est la meme chose. Dans le deuxième cas. On cherche la case dont l'adresse est tableau + 3 entiers (4 octets).
C'est équivalent à : &tableau[3] = tableau + 3 (ici le compilateur sait que  + 3 signifie plus 3 * la taille d'un entier, donc 12 octets.)

On peut déclarer un tableau d'entier de facon dynamique.

int * tableau = new int[4];

pas oublier de détruire apres: delete[] tableau.

tableau contient l'adresse de la première case du tableau d'entier.

Il y a rien de difficile la dedans. C'est les BASES de chez BASES du C/C++ !


mercredi 7 décembre 2005 à 18:35:18 | Re : question à propos du * pour les tableau de caracteres

luhtor

Une chaine de caractère, c'est un tableau d'entier en fait. Sauf que les entiers font 1 octet. C'est tout. Faut acheter du bouquin si ca te parait pas clair. On peut rien faire sans comprendre comment fonctionne les tableaux.
mercredi 7 décembre 2005 à 20:50:45 | Re : question à propos du * pour les tableau de caracteres

Amanobuo

Membre Club
kapish
En fait je reprend la prog apres un an sans dev, j essaye d aller trop vite et j en reviens souvent aux bases comme ici, mais comme disait l autres mes vieux reflexes commances a revenir,
merci pour ces reponses.


Cette discussion est classée dans : tableau, question, caracteres, char, apres


Répondre à ce message

Sujets en rapport avec ce message

fonction char -> bool [ par destroy2k4 ] salut a tous je suis debutant en programmation et j'ai un petit problemevoila en fait j'ai besoin d'une fonction C qui prend en parametre un tableau d help ! -> tableau de string 2 dimension dynamique [ par Jiraiya ] voila, pour mon proG tutore de 2 eme annee je cherche a traiter des chaines de caracteres stockées depuis un fichier.txt jusqu'a un tableau de string, Question d'un Newbie ! [ par RaZoR ] Bonjour tout le monde je voudrais savoir pourquoi cette instruction ne marche pas et comment y remedier :if(montableau[c]==char("a"))en sachant que je question simple sur manip de caracteres [ par youpiyoyo ] j'ai un char String[24] qui contient xxxxx_000..jpgj'aimerai recup 000.je m'en sort pas avec ma boucle for c pas trop dur c entre un "_" et un "." enf return tableau de caracteres en C++ [ par sozer2 ] Bonjour j'aimerai savoir comment retourner correctement un tableau de caractère en C++Voici mon code qui contient une erreur au niveau du return et au Pointeurs et tableau de pointeurs [ par dragon3x6 ] Salut à la communauté des developpeurs C,j'essai d'écrire un bout de code qui enregistre une liste de mots dans une structure de type arbre.Lorsqu'un Question idiote a propos des tableaux 3D [ par boulfrite ] Salut...J'ai une question un peu idiote : Est-ce que unsigned char image [256][256][3];est la meme chose que<table border= question d'allocation probleme char char* Question simple [ par youpiyoyo ] voici mon probleme://///////////////////////////////////////////////////int rec = recv(ns,buffer,64*sizeof(char),0); buffer[rec] = '\0' ; //cout comment faire insérer du 'char' dans un tableau de 'double' [ par felisk ] J'ai créé un tableau où je stocke des valeurs de type 'double', j'aimerai dans les prières ligne de ce tableau insérer quelques lignes de commentaires conversion tableau de char en char* [ par jantonof ] En fait tout est dans le titre: que faut-il faire pour convertir un tableau de char en char*?merci


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales