|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : Ordre de déclaration des variables ... [ Archives / Au secours ] (icedreamer)
Informations & options pour cette discussion
mardi 9 mars 2004 à 07:52:33 |
Ordre de déclaration des variables ...

icedreamer
|
Salut. Je continue mon petit prog et les pb suivent aussi .. Il semble que l'ordre de déclaration de mes variables joue un role dans le focntionnement de mon code !!! Comme ca, ca marche : char tmp2[1]; char* buf = ""; char srt[MAX_PATH] = ""; int i,j,k; char tmp3[2]; int ind; char* bufsrt = ""; char trsf[3]; int nbt,nbi; char tmp[1]; Mais comme ca, il me semble que me variable sont "vidées" alors qu'elles devraient être rensignées !! (ex:tmp2), alors que cela fonctionne avec la déclaration ci-dessus ... char tmp[1]; char tmp2[1]; char tmp3[2]; char* buf = ""; char* bufsrt = ""; char srt[MAX_PATH] = ""; (Note j'utilise devc++) Merci de votre aide.
|
|
|
mardi 9 mars 2004 à 08:23:21 |
Re : Ordre de déclaration des variables ...

Hylvenir
|
Les variables ne sont pas initialisées. Il faut rajouter char tmp[1] = ""; int nb = 0; par exemple. sinon en effet, l'ordre peut faire varier ce que contiennent les variables lors de leur création.
|
|
|
mardi 9 mars 2004 à 12:47:10 |
Re : Ordre de déclaration des variables ...

icedreamer
|
Je l'ai essayé et j'ai toujours le prob.
Ne marche pas pour tmp :
char tmp[1] = ""; char tmp2[1] = ""; char tmp3[2] = ""; char trsf[3] = ""; char srt[MAX_PATH] = ""; char* buf = ""; char* bufsrt = "";
Marche pour tmp :
char tmp2[1] = ""; char tmp3[2] = ""; char trsf[3] = ""; char srt[MAX_PATH] = ""; char* buf = ""; char* bufsrt = ""; char tmp[1] = "";
Je ne comprends pas ...
|
|
|
mardi 9 mars 2004 à 12:57:38 |
Re : Ordre de déclaration des variables ...

Hylvenir
|
En fait, ça doit dépendre de ce que tu appelles ne marche pas. Il ne semble pas y avoir de code dans ton message d'origine.
|
|
|
mardi 9 mars 2004 à 13:20:20 |
Re : Ordre de déclaration des variables ...

icedreamer
|
oui, en voici un morceau
buf = (char*)GlobalAlloc(GPTR, len + 1); GetDlgItemText(hwnd, IDC_MAIN_EDIT1, buf, len + 1); //MessageBox(hwnd, buf,"Buffer", MB_OK | MB_APPLMODAL); nbt=0; while (j<=len) { strcpy(tmp,""); strncat(tmp,buf+i,1); //MessageBox(hwnd, tmp,"Entrée", MB_OK | MB_APPLMODAL);
k=1; ind=0; while (k<=g_NbCar) { strcpy(tmp2,""); strncat(tmp2,tbl_A[k],1);
MessageBox(hwnd, tmp,"Entrée", MB_OK | MB_APPLMODAL); MessageBox(hwnd, tmp2,"Alpha", MB_OK | MB_APPLMODAL); if (strcmp(tmp2,tmp)==0) etc...
Malheureusement la valeur de tmp est A au premier coup puis ' ' après ...
Merci de m'aider
|
|
|
mardi 9 mars 2004 à 14:59:30 |
Re : Ordre de déclaration des variables ...

ymca2003
|
faudrait voir à déclarer des chaînes de caractères plus grandes (les variables tmp ne peuvent contenir qu'UN SEUL caractère à savoir le nul de terminaison). Comme tu en écrit plus (tu les ajoutes par strcat), tu écrase les variables déclarées après alors qu'elles n'ont rien demandée.
|
|
|
mardi 9 mars 2004 à 17:53:19 |
Re : Ordre de déclaration des variables ...

icedreamer
|
Il semble que ce soit la bonne réponse. Merci à tous de votre aide !
|
|
|
mardi 9 mars 2004 à 20:39:58 |
Re : Ordre de déclaration des variables ...

djl
|
mine de rien ton topic m'a rappeller que l'ordre de declaration des variable compte en effet a propos de l'espace memoire utiliser
bien sur aujourd'hui, au vudes quantiter de memoire dispo, ca n'a plus beaucou d'importance, et les compilo font peut etre qq optimisations
cependant il me semble que si on fait
char c; int i;
au lieu de
int i; char c;
on gagne 3 octets
alors, est ce que je dit une connerie ? :D
|
|
|
mardi 9 mars 2004 à 20:43:34 |
Re : Ordre de déclaration des variables ...

Hylvenir
|
ça dépend pas de la méthode d'alignement du compilateur ?
|
|
|
mardi 9 mars 2004 à 20:56:18 |
Re : Ordre de déclaration des variables ...

djl
|
oui c'est exactement ca, qu'en est il aussi?
c'est propres au compilo?
|
|
|
Cette discussion est classé dans : variables, ordre, char, déclaration, tmp2
Répondre à ce message
Sujets en rapport avec ce message
Manip' des variables du type char... [ par DJeS ]
J'ai d'eternels problemes pour manipuler les variables char, const char etc...quand je veux faire passer un argument char a un fonction j'ai souvent d
question sur les variables [ par Kernox ]
Bjr,Je doit lire un fichier txt de plusieurs lignes et avec des lignes dune longeur differente.Je veux savoir comment peut ton faire quelque chose com
Variables et fonctions. Déclaration & Accéssibilité ! [ par wizard512 ]
Bonsoir,je souhaiterai savoir comment accédé a une variable déclaré dans une autre fonction.Faut t'il le spécifier lors de la déclaration de la variab
Un truc basique -> Liée 2 variables [ par wizard512 ]
Bonjours,J'ai un petit probleme qui commence a m'aggacé :je n'arrive pas a placé 2 variables dans une variable,je m'explique :EXEMPLE :-------------
problème de déclaration int [ par mayapour ]
Bonjour, Dans un programme en C, je souhaite afficher les infos d'un dossier : void printfile (char * name, options_t * options) { struct stat s;
Prob avec les variables [ par Ilsundal ]
Bonjour a tous,voila mon probleme, j'ai declaré une variable, mais quand je lui assigne par exemple : MAISON, il m'affiche que M. comment faire pour
Ordre dans les déclarations de variables ??! [ par vincemail ]
Bonjour à tous, je suis en train de faire un programme en C++ avec devC++, et je viens de trouver un bug que je n'arrive pas à comprendre, je veux sto
Décomposition d'un Double en 4 variables Char [ par raidentr ]
Un petit Pb Mathématique :Comment à partir un Double (exemple 0xAABBCCDD), je peux obtenir les 4 valeur de chaque octet :char var1=0xAAchar var2=0xBB
PB chaine de caractere en argument d'une fonction [ par zeguizmo ]
Salut à tous, Bon, je ne suis pas une flèche en programation, et je bloque sur un souci qui va peut etre vous paraitre dérisoire, mais pas moyen, je c
j'arrive pas a l'expliquer en un mot... [ par Titof301 ]
Bonjour a tous, j'ai une question probablement bête mais bon ( ). Est-il possible d'utiliser le contenu d'une variable int par exemple à l'intérieur
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|