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)

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?


1 2

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


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.