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

  FORUM HardWare.fr
  Programmation
  C

  [Tuto] Les pointeurs

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Tuto] Les pointeurs

n°1341800
Dinan
Posté le 07-04-2006 à 22:09:34  profilanswer
 

Bonjour,
 
Voilà, j'ai commencé un tuto sur les pointeurs, qu'en pensez vous ?
 
http://fee.lya-fr.com/index.php/20 [...] teurs-en-c
 
Merci de donner vos avis et remarques, merci

mood
Publicité
Posté le 07-04-2006 à 22:09:34  profilanswer
 

n°1341809
nargy
Posté le 07-04-2006 à 22:25:48  profilanswer
 

un peu confus...
il manque un schema

n°1341813
Dinan
Posté le 07-04-2006 à 22:32:28  profilanswer
 

C'est vrai, j'ai essayé de faire le plus bref possible.

n°1341814
Trap D
Posté le 07-04-2006 à 22:32:37  profilanswer
 

Dinan a écrit :

Bonjour,
 
Voilà, j'ai commencé un tuto sur les pointeurs, qu'en pensez vous ?
 
http://fee.lya-fr.com/index.php/20 [...] teurs-en-c
 
Merci de donner vos avis et remarques, merci


 
Au moins une erreur grave, realloc ne se manipule pas de cette manière :
 

Code :
  1. temp = realloc(pMem, sizeof(*pMem) * Taille);
  2. if (temp == NULL)
  3. {
  4.   // on est dans la m***e mais pas complètement  
  5.   // car pMem est toujours valide
  6. }
  7. else
  8.   pMeme = temp;


Autre chose

Citation :

Dans notre programme nous allons définir une variable dite "static" comme ceci :  
 
 
char foo[32 ];


Ca dépend où tu déclares  le tableau foo, si c'est hors du contexte d'une fonction c'est du static sinon, non ,c'est du local.
 
Tu évoques malloc/realloc et tu oublies complètement que pour une programmation propre il faut faire un free !
 
 
PS fais gaffe à l'aurtograf !


Message édité par Trap D le 07-04-2006 à 22:36:32
n°1341817
skelter
Posté le 07-04-2006 à 22:37:18  profilanswer
 

tu passes un peu trop rapidement de

Code :
  1. char foo[32 ];


à

Code :
  1. printf("%s\n", foo);


 
foo est un tableau de char qui peut éventuellement servir à contenir une chaine de caracteres (jusqu'a 31 caracteres) terminée par un zero
 

Citation :

pFoo contiendra donc l'adresse du début de la chaine foo(1000) et pFoo+1(1001) l'adresse du deuxieme caractère. Attention si vous depassez le '\0'(1033)


 
la derniere adresse valide relative à foo est 1031
 
C'est un peu lege, un point sur l'arithmetique des pointeurs (decalage, difference, interet du typage et cas du pointeur void) n'aurait pas été de trop ainsi que d'autres exemples commun de l'utilité des pointeurs comme le passage de l'adresse d'une variable à une fonction.


Message édité par skelter le 07-04-2006 à 22:37:44
n°1341826
nargy
Posté le 07-04-2006 à 22:56:08  profilanswer
 

Citation :


C'est un peu lege


[:ouais2] ouais...
 
Tu ne parle vraiment que d un type de pointeur: char*, mais il y en a plein d autres, et notamment les plus interessants: void* et les pointeurs sur fonction.


Message édité par nargy le 07-04-2006 à 22:56:20
n°1341842
Emmanuel D​elahaye
C is a sharp tool
Posté le 07-04-2006 à 23:27:04  profilanswer
 

Dinan a écrit :

Bonjour,
 
Voilà, j'ai commencé un tuto sur les pointeurs, qu'en pensez vous ?
 
http://fee.lya-fr.com/index.php/20 [...] teurs-en-c
 
Merci de donner vos avis et remarques, merci


 
http://mapage.noos.fr/emdel/notes.htm#pointeurs
http://mapage.noos.fr/emdel/notes.htm#malloc
http://mapage.noos.fr/emdel/notes.htm#realloc


---------------
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°1341858
nargy
Posté le 08-04-2006 à 00:09:46  profilanswer
 

> Une fonction a une adresse qui est le nom de cette fonction.
 
?!?!?

n°1341862
skelter
Posté le 08-04-2006 à 00:17:54  profilanswer
 

et ?
 
c'est aussi le cas pour un tableau, l'identificateur représente l'adresse

n°1341866
nargy
Posté le 08-04-2006 à 00:26:52  profilanswer
 

Soit:
 
Une fonction a une adresse qui est notée avec le nom de cette fonction.
 
soit:
 
Une fonction a une adresse qui est celle du code de cette fonction.
 
non?

Message cité 1 fois
Message édité par nargy le 08-04-2006 à 00:29:36
mood
Publicité
Posté le 08-04-2006 à 00:26:52  profilanswer
 

n°1341894
Emmanuel D​elahaye
C is a sharp tool
Posté le 08-04-2006 à 01:12:23  profilanswer
 

nargy a écrit :

Soit:
 
Une fonction a une adresse qui est notée avec le nom de cette fonction.
 
soit:
 
Une fonction a une adresse qui est celle du code de cette fonction.
 
non?


Bof, le terme 'nom de la fonction' est suffisament clair et concis.


---------------
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/

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  [Tuto] Les pointeurs

 

Sujets relatifs
TTreenode.Data + Pointeurs / HEELLLPP PLZ !Pointeurs intelligents et liste chainée
Pointeurs sur fonction membre, héritage, toussa[C] Problème de pointeurs et d'allocation
[C#] ASP.NET > Localization, ressources etc... Tuto ?Debuter en C++ - Un bon Tuto en ligne mais sans C !
besion d'aide sur un tuto de tomcat avec jndi [resolu]cherche tuto
Les pointeurs en Java[C++] Les différents types de pointeurs sur fonction ?
Plus de sujets relatifs à : [Tuto] Les pointeurs


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