begin process at 2012 02 12 19:10:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Ordre de déclaration des variables ...


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

Ordre de déclaration des variables ...

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ée 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 Taille variables dans une class/struct [ par LA_Tupac ] Salut à tous. Je me penche sur la taille des données car je fais des écritures binaires d'objets à taille variable dans des fichiers. En faisant des t Variable char [ par SanDum ] Bonjour tout le monde J'ai un problème dans mon code avec les variables de type char. Ce que je veux faire, c'est de lire les dossiers sur une carte


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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 : 2,714 sec (3)

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