[Tuto] Les pointeurs

Les pointeurs [Tuto] - C - Programmation

Marsh Posté le 07-04-2006 à 22:09:34    

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

Reply

Marsh Posté le 07-04-2006 à 22:09:34   

Reply

Marsh Posté le 07-04-2006 à 22:25:48    

un peu confus...
il manque un schema

Reply

Marsh Posté le 07-04-2006 à 22:32:28    

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

Reply

Marsh Posté le 07-04-2006 à 22:32:37    

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
Reply

Marsh Posté le 07-04-2006 à 22:37:18    

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
Reply

Marsh Posté le 07-04-2006 à 22:56:08    

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
Reply

Marsh Posté le 07-04-2006 à 23:27:04    

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

Marsh Posté le 08-04-2006 à 00:09:46    

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

Reply

Marsh Posté le 08-04-2006 à 00:17:54    

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

Reply

Marsh Posté le 08-04-2006 à 00:26:52    

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
Reply

Marsh Posté le 08-04-2006 à 00:26:52   

Reply

Marsh Posté le 08-04-2006 à 01:12:23    

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

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed