Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3113 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6
Auteur Sujet :

les pointeurs , les tableaux ??? je mis perd

n°1138274
Taz
bisounours-codeur
Posté le 02-07-2005 à 19:22:33  profilanswer
 

Reprise du message précédent :
#         printf("\n\non obtient : %i\n", *result);
 
 
c'est censé affiché quoi ?

mood
Publicité
Posté le 02-07-2005 à 19:22:33  profilanswer
 

n°1138278
super-tupa​pau
Posté le 02-07-2005 à 19:25:38  profilanswer
 

ca a rien à faire la en fait c quandla fonction sera finit que sa servira a afficher en console le resulta du calcul a l'aide de ce pointeur

n°1138281
Taz
bisounours-codeur
Posté le 02-07-2005 à 19:29:36  profilanswer
 

moi je te demande de me faire une fonction
 
int* f(void); qui renvoie un pointeur valide sur un int qui vaut 42.

n°1138283
super-tupa​pau
Posté le 02-07-2005 à 19:33:05  profilanswer
 

bon je vauis essaye aie :sweat:  
 

Code :
  1. int * f(void){
  2. int var = 42;
  3. int *p = NULL;
  4. p = &var;
  5. return p;
  6. }

n°1138287
super-tupa​pau
Posté le 02-07-2005 à 19:37:23  profilanswer
 

euh j'ai regarder ton status et je vois comme site perso www.gnome.org. tes un développeur du projet gnome

n°1138296
jan0
Posté le 02-07-2005 à 19:47:21  profilanswer
 

super-tupapau a écrit :


Code :
  1. int * f(void){
  2. int var = 42;
  3. int *p = NULL;
  4. p = &var;
  5. return p;
  6. }



raté  :hello:  
tu renvoies un pointeur sur une variable locale qui n'existe que dans le contexte de la fonction donc rien ne te garanti que le contenu pointé par ton pointeur ne sera pas modifié.

Spoiler :

( bon après ya des chances que ca passe si la pile n'est pas effacée  mais c'est quand même faux :cry: )

n°1138307
Taz
bisounours-codeur
Posté le 02-07-2005 à 19:56:20  profilanswer
 

ouais raté. Mais c'est pas loin. Le seul truc, c'est que ton pointeur n'est pas valide hors de f

n°1138320
super-tupa​pau
Posté le 02-07-2005 à 20:10:31  profilanswer
 

ok alors seconde tantative

Code :
  1. int * f(void){
  2. static int var = 42;
  3. int *p = NULL;
  4. p = &var;
  5. return p;
  6. }

n°1138325
Taz
bisounours-codeur
Posté le 02-07-2005 à 20:13:06  profilanswer
 

mais encore ...

n°1138337
super-tupa​pau
Posté le 02-07-2005 à 20:21:34  profilanswer
 

euh  

Code :
  1. int * f(void){
  2. const int var = 42;
  3. int *p = NULL;
  4. p = &var;
  5. return p;
  6. }

mood
Publicité
Posté le 02-07-2005 à 20:21:34  profilanswer
 

n°1138339
chrisbk
-
Posté le 02-07-2005 à 20:22:08  profilanswer
 

random coding

n°1138357
super-tupa​pau
Posté le 02-07-2005 à 21:04:40  profilanswer
 

j'ai regardé le code source de gaim et il procede comme ceci (static devant les fonctions)
 

Code :
  1. static int * f(void){
  2. int var = 42;
  3. int *p = NULL;
  4. p = &var;
  5. return p;
  6. }

n°1138359
Taz
bisounours-codeur
Posté le 02-07-2005 à 21:05:50  profilanswer
 

mon oeil ...

n°1138360
super-tupa​pau
Posté le 02-07-2005 à 21:08:56  profilanswer
 

je vois vraiment pas comment faire j'ai trouver sa sur le web mais j'espere que c pas sa qu'il faut faire  
http://membres.lycos.fr/dancel/c/c70_130.htm

n°1138363
Taz
bisounours-codeur
Posté le 02-07-2005 à 21:13:37  profilanswer
 

avoue que t'as jamais programmé. Le concept d'allocation dynamique t'est complètement étranger

n°1138366
super-tupa​pau
Posté le 02-07-2005 à 21:18:53  profilanswer
 

avec malloc pourqouoi pas
 
et on a le droit de pas savoir quelque chose quand meme koi


Message édité par super-tupapau le 02-07-2005 à 21:19:37
n°1138368
python
Posté le 02-07-2005 à 21:20:31  profilanswer
 

on ne le répètera pas assez  
 
http://mapage.noos.fr/emdel/notes.htm#pointeurs
 
me souviens plus qui a posté le lien sur prog. :/

n°1138370
Taz
bisounours-codeur
Posté le 02-07-2005 à 21:24:32  profilanswer
 

super-tupapau a écrit :

avec malloc pourqouoi pas
 
et on a le droit de pas savoir quelque chose quand meme koi


oui, enfin c'est plus simple si tu dis dès le début 'j'ai 2 jours de C derrière moi', on gagne du temps.

n°1138372
super-tupa​pau
Posté le 02-07-2005 à 21:26:36  profilanswer
 

Code :
  1. int * f(void){
  2. int var = 42;
  3. int *p =  malloc(sizeof(int));
  4. p = &var;
  5. return p;
  6. }

n°1138373
chrisbk
-
Posté le 02-07-2005 à 21:28:34  profilanswer
 

python a écrit :

on ne le répètera pas assez  
 
http://mapage.noos.fr/emdel/notes.htm#pointeurs
 
me souviens plus qui a posté le lien sur prog. :/


 
 
le createur de la page, Emmanuel delahaye je suppose [:god]

n°1138375
chrisbk
-
Posté le 02-07-2005 à 21:29:11  profilanswer
 

super-tupapau a écrit :

Code :
  1. int * f(void){
  2. int var = 42;
  3. int *p =  malloc(sizeof(int));
  4. p = &var;
  5. return p;
  6. }



 
m'enfin a lire ton code je sais pas ce que tu essayes de faire, tout ce que je sais c'est que tu le fais tres mal

n°1138376
super-tupa​pau
Posté le 02-07-2005 à 21:29:46  profilanswer
 

j'ai pas deux jour derriere moi de C mais plutot deux ans deux C++ disont barbare puisque je prete pas attention à tous ca :(  
ca sera donc sympa d'etre un peu moins mechant parce enple d'avoir rien appris un truc dans ce poste j'aurais appris un autre truc ne plus poste sur se forum pourri

n°1138377
super-tupa​pau
Posté le 02-07-2005 à 21:30:44  profilanswer
 

moi meme je sais pas ce que je fait puisque tous ce qu'on sur se poste c se foutre de ma gueule  :fou:

n°1138380
Taz
bisounours-codeur
Posté le 02-07-2005 à 21:36:06  profilanswer
 

y a de quoi

n°1138381
super-tupa​pau
Posté le 02-07-2005 à 21:38:27  profilanswer
 

décidement on n'aime pas les débutant allez vous faire foutre bande de connard

n°1138386
Taz
bisounours-codeur
Posté le 02-07-2005 à 21:40:34  profilanswer
 

ben faut savoir : t'es débutant ou programmeur C depuis 2 ans ?

n°1138388
manatane
En vous remerciant, bonsoir
Posté le 02-07-2005 à 21:43:08  profilanswer
 

super-tupapau a écrit :

décidement on n'aime pas les débutant allez vous faire foutre bande de connard


[:vague nocturne]

n°1138389
super-tupa​pau
Posté le 02-07-2005 à 21:44:48  profilanswer
 

j'ai du mal m'exprime depuis le debut jeprogramme depuis deux 1/2 (si le html et la javascript et un langage) ans (1 ans de prog web (php ... mysql) ) et 1 ans de C++ mais aussi du reste comme un peu de java sa dépend des projet enfait j'ai appronfondie aucun langage a part ce du web et je comme a approndir le C ms vu comment je suis accueil je pense pas continuer

n°1138392
Taz
bisounours-codeur
Posté le 02-07-2005 à 21:46:07  profilanswer
 

approfondir le C ? manipuler une chaine de caractères et faire une allocation, c'est la base.

n°1138394
super-tupa​pau
Posté le 02-07-2005 à 21:47:51  profilanswer
 

comme tu veux

n°1138396
Taz
bisounours-codeur
Posté le 02-07-2005 à 21:51:39  profilanswer
 

ben moi ce que je veux c'est que tu lises les liens qu'Emmanuel t'as donné y a 3 plombes sur le bon usage de malloc :o

n°1138400
el muchach​o
Comfortably Numb
Posté le 02-07-2005 à 21:55:35  profilanswer
 

super-tupapau a écrit :

j'ai du mal m'exprime depuis le debut jeprogramme depuis deux 1/2 (si le html et la javascript et un langage) ans (1 ans de prog web (php ... mysql) ) et 1 ans de C++ mais aussi du reste comme un peu de java sa dépend des projet enfait j'ai appronfondie aucun langage a part ce du web et je comme a approndir le C ms vu comment je suis accueil je pense pas continuer


 
Ecoute, je pense que tu as voulu aller un peu vite, et que tu t'es dit que tu pouvais deja programmer des choses en C sans te soucier des pointeurs et des choses compliquees du langage. Malheureusement, ca n'est pas vrai.
Tu commences par un programme un peu trop complique pour ton niveau, donc au lieu de t'acharner et de te faire echarper en public, tu devrais faire de tous petits programmes pour apprendre a manipuler les pointeurs et la memoire. Par exemple :
1) un programme qui lit une chaine de caracteres, la copie dans une zone memoire que tu alloues et qui l'affiche. (manipulation d'un pointeur)
2) un autre qui passera un pointeur sur cette chaine a une fonction qui va l'afficher, (passage d'un pointeur a une fonction)
3) puis la meme chose avec un tableau de chaines de caracteres, (manipulation d'un tableau de pointeurs, et passage a une fonction)
4) la meme chose avec un tableau dynamique de chaines de caracteres, (passage de pointeur de pointeurs a une fonction, allocation dynamique et desallocation),
5) enfin, la meme chose avec les fonctions memcpy, strcpy et strncpy.
 
Tu t'aides du lien d'Emmanuel Delahaye (tu oublies le paragraphe sur les pointeurs de fonctions), et tu poses des questions la-dessus.
Au fur et a mesure, ces notions et la manipulation des pointeurs seront moins abstraits pour toi, et tu pourras reprendre ton programme.
Mais pour l'instant, tu n'as pas vraiment les bases pour faire ce que tu entreprends.


Message édité par el muchacho le 02-07-2005 à 22:09:11
n°1138408
super-tupa​pau
Posté le 02-07-2005 à 22:10:11  profilanswer
 

merci el muchacho voila une réponse intelligente parce que taz a part me dire que je suis nul ta rien fait

n°1138411
el muchach​o
Comfortably Numb
Posté le 02-07-2005 à 22:19:45  profilanswer
 

Ben la pedagogie n'est pas trop son fort, mais il est toujours pret a aider si on pose les bonnes questions. [:spamafote]
 
Les exercices que je t'ai donnes n'ont pas l'air tres excitants, mais c'est la base, les gammes. Si tu te plantes la, tu te planteras ailleurs, on n'arrete pas d'en voir passer ici.
Pour les rendre plus amusants, tu peux en faire une variation qui, au lieu de d'afficher ce que tu as entre, affiche la chaine encodee avec un chiffre de Cesar et la dechiffre apres.
Le chiffre de Cesar, si tu ne sais pas ce que c'est, est le code secret que les enfants connaissent tous : on remplace un alphabet par un alphabet decale de n lettres.
Ca peut etre assez amusant a faire, et c'est utile pour comprendre la manipulation des caracteres en C. Mais dans un premier temps, limite-toi aux exercices 1 et 2.


Message édité par el muchacho le 02-07-2005 à 22:22:11
n°1138416
super-tupa​pau
Posté le 02-07-2005 à 22:45:25  profilanswer
 

Citation :

merci el muchacho voila une réponse intelligente

c'était pas irronique  ;)
 
je vais faire l'exercice 1


Message édité par super-tupapau le 02-07-2005 à 22:47:20
n°1138451
Elmoricq
Modérateur
Posté le 03-07-2005 à 00:57:19  profilanswer
 

Je pense que ce qui énerve Taz, c'est que tu essaies de te faire passer pour quelqu'un qui a déjà fait des choses en C.  
Il n'y a pas de honte à être débutant. On l'a tous été. Mais il est clair en lisant tes  codes aléatoires que tu es un complet débutant, et ça aurait été beaucoup plus simple si tu nous l'avais dit dès le début.
 
Quant à la réponse de el muchacho, c'est en substance ce que j'ai mis en page 1.
On en vient à une seconde source de mécontentement, en tout cas pour moi, c'est que tu veux aller trop vite en besogne, le tout en ignorant les réponses qu'on te donne (ou en tout cas en passant très vite dessus, sans y réfléchir un instant).
 
Sérieux, prends un peu de recul, relis le thread en son entier, lis la page d'Emmanuel et commence des exercices simples.
Reviens ensuite avec des questions précises sur les pointeurs, et non des questions sur tes codes. Généraliser un problème, c'est en partie le comprendre. A partir de là, c'est plus facile pour le résoudre.
 
Quant au C++, il me parait étrange que tu n'aies jamais touché à new et delete ?

n°1138481
Chronoklaz​m
Posté le 03-07-2005 à 04:00:02  profilanswer
 

Elmoricq a écrit :

Je pense que ce qui énerve Taz, c'est que tu essaies de te faire passer pour quelqu'un qui a déjà fait des choses en C.  
Il n'y a pas de honte à être débutant. On l'a tous été. Mais il est clair en lisant tes  codes aléatoires que tu es un complet débutant, et ça aurait été beaucoup plus simple si tu nous l'avais dit dès le début.


 
Ca se voit un peu que le gars est débutant ... et au lieu de donner un explication ou ne serai ce qu'un lien, on poste des remarques noobophobe nous montrant que le complexe de superiorité est indissociable des progeux et nous rappelant que des primates sont encore parmi nous.  
 
Moi je dis ... super-tupapo prends toi un bon bouquin genre K&R tu gagnera du temps.


---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
n°1138498
Elmoricq
Modérateur
Posté le 03-07-2005 à 09:00:19  profilanswer
 

Chronoklazm a écrit :

Ca se voit un peu que le gars est débutant ... et au lieu de donner un explication ou ne serai ce qu'un lien, on poste des remarques noobophobe nous montrant que le complexe de superiorité est indissociable des progeux et nous rappelant que des primates sont encore parmi nous.  
 
Moi je dis ... super-tupapo prends toi un bon bouquin genre K&R tu gagnera du temps.


 
 
Euh, ok.  [:petrus75]  
Toi aussi, relis le thread depuis le début. [:pingouino]


Message édité par Elmoricq le 03-07-2005 à 09:02:12
n°1138501
Emmanuel D​elahaye
C is a sharp tool
Posté le 03-07-2005 à 09:22:46  profilanswer
 

super-tupapau a écrit :


j'ai lu le premier message qui parle de return et tu met

Citation :

result n'est pas initialisé. ton code est toujours archi faux.


tu veux que je fasse ca result = 0; ???


C'est un bon début, mais si c'est pour retourner toujours la même chose, l'intéret de la manip est limité... Comment est censé varier 'result' ?

Citation :

enfin quand tu dit que je comprend rien excuse astero-H mais quand je vois:

Code :
  1. char string[2];
  2. string[0] = algo[i];
  3. string[1] = '\0';


 
je suis desolé mais c pas que l'on est sur un forum de prog que l'on parle pas francais :non:  
une chose qui prouve que l'on connais bien quelque chose c quand on c'est l'expliqué en francais et pas juste le dire comme ci c'était une évidence

C'est assez élémentaire. On construit une chaine à partir d'un caractère.
En string[0] on met le caractère, et en string[1], on met un 0, ce qui fait que string devient une chaine valide. Elle peut donc être 'passée' à strcat().
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1138507
super-tupa​pau
Posté le 03-07-2005 à 10:24:43  profilanswer
 

pour les exercices j'ai commencais mais de toute facons j'ai commandé le livre que ma conseiller taz pour programmation. En fait mon erreur c d'avoir cru comme la dit el muchacho pouvoir programmer des truc sans apprendre la totalité du langage C. pendant un temps sa marche mais apres quand on veux allez plus loins sa marche plus du tout. En plus j'ai un livre c le C++ et il traite tres peu de la base c pour ca que chez moi elle est tres incomplete
 
je vais tous reprendre depuis le debut avec LANGAGE C NORME ANSI. selon le site (eyrolles.com)  je l'aurai d'ici 3 à 7 jours  :D .  
 
Merci de m'avoir montrait qu'il fallait que je revoit tous.

n°1138509
super-tupa​pau
Posté le 03-07-2005 à 10:27:10  profilanswer
 

Citation :

C'est assez élémentaire. On construit une chaine à partir d'un caractère.
En string[0] on met le caractère, et en string[1], on met un 0, ce qui fait que string devient une chaine valide. Elle peut donc être 'passée' à strcat().  


 
oui ca j'avais comprit mais qu'elle est le rapport avec mon probleme

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6

Aller à :
Ajouter une réponse
 

Sujets relatifs
[Résolu] [C#] Déclaration de tableaux d'objets à taille inconnueezPDF => tableaux et position "y"
Probleme super etrange de tableaux superposés [resolu]Bordures des tableaux sous FireFox
css et tableaux?Aligner deux tableaux
Probleme avec tableaux, demande d'aide aux spécialistes![Résolu] tableaux et sessions
les pointeurs - petite aide !Habillage de tableaux?
Plus de sujets relatifs à : les pointeurs , les tableaux ??? je mis perd


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)