Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#201 Le 16/04/2010, à 10:53

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Non, un tableau n'est pas un pointeur.
C'est une confusion souvent commise du fait qu'un tableau est automatiquement converti en une valeur du type pointeur qui pointe sur l'élément initial du tableau dans toute les expressions (sauf dans &a, sizeof a (qui renvoie bien la taille du tableau et non pas la taille du pointeur) ou dans les initialisations par des chaînes littérales  comme "toto").

Un tableau est une zone mémoire contiguë pouvant contenir N éléments de type identique.
Un pointeur est une zone mémoire qui contient l'adresse d'une autre zone mémoire.

Dernière modification par grim7reaper (Le 16/04/2010, à 10:58)

Hors ligne

#202 Le 16/04/2010, à 10:54

tshirtman

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

http://eli.thegreenplace.net/2009/10/21/are-pointers-and-arrays-equivalent-in-c/

Hors ligne

#203 Le 16/04/2010, à 10:56

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

@tshirtman : Oui, bah c'est ce que je dis, mais en anglais tongue (bon moi j'ai été plus concis, pas le temps de mettre des exemples).

Dernière modification par grim7reaper (Le 16/04/2010, à 10:57)

Hors ligne

#204 Le 16/04/2010, à 10:59

cm-t

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

euh oui, je m'était mal exprimé, dans ma tête j'étais sur cette syntaxe: *(Tab+42)

je savais pas qu'un tableaux était forcement contiguë d'où ma remarque que je pensais bonne;
dsl /me ==>[]


et bonne ap aussi ^^

Dernière modification par cm-t (Le 16/04/2010, à 11:05)


Actu Ubuntu            ☺/
Pauses Ubuntu sur Paris            \_< -t
[(π)] La Quadrature du net

Hors ligne

#205 Le 16/04/2010, à 11:05

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

cm-t a écrit :

et bonne ap aussi ^^

Je plussoie

Bonne app' world !

Hors ligne

#206 Le 16/04/2010, à 11:17

Pylades

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

grim7reaper a écrit :

sizeof a (qui renvoie bien la taille du tableau et non pas la taille du pointeur)

Ça veut dire que si je créais et libérais mon tableau de struct option* dans la même fonction, je pourrais utiliser for(i=0;i<sizeof opt_tab;i++) pour la libération ?


Ça fait peur, ton truc.
/me a trop de choses à apprendre… hmm


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#207 Le 16/04/2010, à 11:25

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Pylade a écrit :

Ça veut dire que si je créais et libérais mon tableau de struct option* dans la même fonction, je pourrais utiliser for(i=0;i<sizeof opt_tab;i++) pour la libération ?

Non, ça ne fonctionne que pour les tableaux déclarés en tant que tel. Les tableaux dynamiques ne sont que des pointeurs sur des zones contiguës donc sizeof te renvoie la taille du pointeur, pas du tableau.

Dernière modification par grim7reaper (Le 16/04/2010, à 11:26)

Hors ligne

#208 Le 16/04/2010, à 11:34

Seren

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

ilagas a écrit :

quand par exemples un vecteur est dans 2 pages frames differentes ?

ou dans les langauges interprétés ou les vecteurs n'ont pas de taille fixe

Ca peut arriver mais si c'est le cas c'est la MMU qui fait le calcul pour retrouver l'adresse physique, donc ça impacte pas le CPU. (ce qu'est tout l'intérêt d'avoir une MMU dédiée à ce genre d'opération). Donc ton opération se fera toujours en nombre de cycle processeur constant.

(Le temps d'accès à la RAM est peut être un poil plus lent si il faut repositionner des registres pour accéder à une autre zone physique, mais je sais pas assez comment fonctionne une RAM pour dire si c'est vrai ou faux smile. Je suppose qu'il y a toujours un temps maximum garanti )

Dernière modification par Seren (Le 16/04/2010, à 11:37)


"I am not young enough to know everything". Oscar Wilde

Hors ligne

#209 Le 16/04/2010, à 11:37

Pylades

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

grim7reaper a écrit :
Pylade a écrit :

Ça veut dire que si je créais et libérais mon tableau de struct option* dans la même fonction, je pourrais utiliser for(i=0;i<sizeof opt_tab;i++) pour la libération ?

Non, ça ne fonctionne que pour les tableaux déclarés en tant que tel. Les tableaux dynamiques ne sont que des pointeurs sur des zones contiguës donc sizeof te renvoie la taille du pointeur, pas du tableau.

Quel con ! ><' ²


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#210 Le 16/04/2010, à 11:46

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Bah, on va dire que c'est du à la chute de la glycémie qui te fait réfléchir plus lentement, les neurones ayant moins de glucose à se mettre sous la den(t|drite) lol (je sais que c'est un non-sens biologique, mais c'est juste pour la blague (moisie certes, mais blague quand même)).

Hors ligne

#211 Le 16/04/2010, à 12:03

Кຼزດ

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

yikes


dou

Hors ligne

#212 Le 16/04/2010, à 12:06

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Quelques changements sont survenus durant ton absence wink

Hors ligne

#213 Le 16/04/2010, à 15:00

tshirtman

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Pylade a écrit :
grim7reaper a écrit :

sizeof a (qui renvoie bien la taille du tableau et non pas la taille du pointeur)

Ça veut dire que si je créais et libérais mon tableau de struct option* dans la même fonction, je pourrais utiliser for(i=0;i<sizeof opt_tab;i++) pour la libération ?


Ça fait peur, ton truc.
/me a trop de choses à apprendre… hmm

bienvenue dans le monde merveilleux du développement, pleins de trucs a faire/apprendre/essayer… pas assez de temps, je pense que c'est le plus grand aspirateur de notre époque… beaucoup s'y perdent… (et desfois je me demande si j'aurais pas plus de chances de faire des trucs intéressants (pour les autres) dans d'autres branches, ce monde là va trop vite pour moi j'ai l'impression…

Hors ligne

#214 Le 16/04/2010, à 15:11

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

+42

Trop de chose à voir, faire, apprendre, essayer...
Trop peu de temps (et le peu que l'on a passe trop vite).

Le manque de temps c'est toute de ma vie sad

Dernière modification par grim7reaper (Le 16/04/2010, à 15:11)

Hors ligne

#215 Le 16/04/2010, à 16:54

Pylades

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Yeah ! Implémentation presque finie, seg fault corrigée, test concluants, idées claires, ça fait du bien. big_smile

Mais une question se pose : je dois faire un tableau pour les options longues. Alors soit je dis pas plus de 7 options longues synonymes (normalement c’est largement suffisant), et puis crac, c’est tout, mais je consomme un peu de mémoire ; soit je demande au programmeur combien il veut d’options longues synonymes au maximum, auquel cas je consomme un peu moins de mémoire et je suis un peu plus souple, mais ça fait un argument peu utile à demander, et ça complexifie le code de la fonction de libération. hmm
/me hésite.

Mais à l’instant, /me vient d’avoir une idée un peu plus siouxe : créer une fonction qui ajoute une option longue spécifiquement à une struct option (realloc() POOWAAA). Mais à ce moment il faut s’assurer qu’un con n’aura pas la bonne idée de modifier direction sa struct option… hmm

Votre opinion sur le sujet ?


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#216 Le 16/04/2010, à 16:59

Ph3nix_

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

class Smiley {
protected Smiley content() { return smile; }
protected Smiley indifferent() { return neutral; }
protected Smiley pas_content() { return sad; }
protected Smiley etonne()  { return yikes;}

protected String toString() { return ":):|:(:D:o;):/:P:lol::mad::rolleyes::cool:"; }

}

Dernière modification par Ph3nix_ (Le 16/04/2010, à 17:00)


Hiroshima 45 / Chernobyl 86 / Windows '95

Hors ligne

#217 Le 16/04/2010, à 17:01

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

pkill -9 Ph3nix_
Pylade a écrit :

Yeah ! Implémentation presque finie, seg fault corrigée, test concluants, idées claires, ça fait du bien. big_smile

Mais une question se pose : je dois faire un tableau pour les options longues. Alors soit je dis pas plus de 7 options longues synonymes (normalement c’est largement suffisant), et puis crac, c’est tout, mais je consomme un peu de mémoire ; soit je demande au programmeur combien il veut d’options longues synonymes au maximum, auquel cas je consomme un peu moins de mémoire et je suis un peu plus souple, mais ça fait un argument peu utile à demander, et ça complexifie le code de la fonction de libération. hmm
/me hésite.

Tout dépend de ce que tu veux, l'allocation a un coût au niveau de la vitesse d'exécution (bon dans ton cas tu ne devrais absolument pas le sentir) mais offre de la souplesse, l'autre c'est l'inverse (moins souple, mais pas d'*alloc/free).
C'est a toi de voir (/me ferait de l'alloc mais c'est perso).

Mais à l’instant, /me vient d’avoir une idée un peu plus siouxe : créer une fonction qui ajoute une option longue spécifiquement à une struct option (realloc() POOWAAA). Mais à ce moment il faut s’assurer qu’un con n’aura pas la bonne idée de modifier direction sa struct option… hmm

Je n'ai pas très bien compris ce que tu souhaites faire avec realloc.

Dernière modification par grim7reaper (Le 16/04/2010, à 17:07)

Hors ligne

#218 Le 16/04/2010, à 17:09

Ph3nix_

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

#!/bin/bash
:> grim7reaper

mad


Hiroshima 45 / Chernobyl 86 / Windows '95

Hors ligne

#219 Le 16/04/2010, à 17:17

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Oui, et ?
(Si tu me cherches je vais te SIGSEGV vite fait bien fait, et j'effacerais toute trace de ton core mad)

HDP de la mort(adelle) \o/

(non pas les cailloux /o\)

Dernière modification par grim7reaper (Le 16/04/2010, à 17:18)

Hors ligne

#220 Le 16/04/2010, à 18:05

nesthib

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

/me jette des cailloux sur grim7reaper (acte totalement gratuit)


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#221 Le 16/04/2010, à 18:10

grim7reaper

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Tu as quelque choses contre les jeux de mots charcutiers tongue ?

Dernière modification par grim7reaper (Le 16/04/2010, à 18:10)

Hors ligne

#222 Le 16/04/2010, à 18:11

oracle_bot

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Scores totaux, depuis le début:

1) 20    samuncle
2) 11    nesthib
2) 11    helly
4) 10    ǤƦƯƝƬ
4) 10    Pylade
6) 8    grim7reaper
7) 4    pierguiard
7) 4    cm-t
7) 4    Ph3nix_
10) 3    oracle_bot
11) 2    tshirtman
11) 2    Kanor
13) 1    ilagas
13) 1    ceric
13) 1    Р'tite G☢gole :mad:

WCFCF XELEX ZYGDE VEMSQ SKXTZ VMGYX ELENL FCENG CTCES GPWHY G


robot multitâche codé par samuncle

Pour la partie compteur utilise le script de tshirtman. Le code source se trouve ici

Hors ligne

#223 Le 16/04/2010, à 18:11

oracle_bot

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

scores de la période en cours:

1) 20    samuncle
2) 11    nesthib
2) 11    helly
4) 10    ǤƦƯƝƬ
4) 10    Pylade
6) 8    grim7reaper
7) 4    pierguiard
7) 4    cm-t
7) 4    Ph3nix_
10) 3    oracle_bot
11) 2    tshirtman
11) 2    Kanor
13) 1    ilagas
13) 1    ceric
13) 1    Р'tite G☢gole :mad:

WCFCF XELEX ZYGDE VEMSQ SKXTZ VMGYX ELENL FCENG CTCES GPWHY G


robot multitâche codé par samuncle

Pour la partie compteur utilise le script de tshirtman. Le code source se trouve ici

Hors ligne

#224 Le 16/04/2010, à 18:13

nesthib

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

grim7reaper a écrit :

Tu as quelque choses contre les jeux de mots charcutiers tongue ?

non smile comme j'ai dit c'était totalement gratuit. Je n'allais pas laisser passer une occasion de lapidation.


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#225 Le 16/04/2010, à 18:42

helly

Re : ..:: Topic des Codeurs Couche-Tard [0] ::..

Dites , comment je peux faire pour faire une fenêtre Qt avec à l'interrieur un écran en SDL ?


Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.

Hors ligne