Cours pointeur en C
2 participants
Page 1 sur 1
Cours pointeur en C
Je sais bien que les étudiants rencontrent toujours des problèmes avec les pointeurs, alors voilà bon petit cours avec des exemples :
http://www.squalenet.net/fr/ti/tutorial_c/11-pointeurs.php5
On est à votre disposition si vous ne comprenez pas quelques chose.
Salam
http://www.squalenet.net/fr/ti/tutorial_c/11-pointeurs.php5
On est à votre disposition si vous ne comprenez pas quelques chose.
Salam
Admin- Admin
- Nombre de messages : 170
Age : 39
Localisation : Compiègne France
Date d'inscription : 27/03/2007
Re: Cours pointeur en C
merci pour le site
c possible en utilisant les pointeur de pointer sur une zone mémoire consacré pour le systeme d'exploitation je veux savoir est ce que cette opération là peut risquer le systeme
c possible en utilisant les pointeur de pointer sur une zone mémoire consacré pour le systeme d'exploitation je veux savoir est ce que cette opération là peut risquer le systeme
dido- Nombre de messages : 175
Localisation : Guelmim (bab sahara)
Date d'inscription : 10/04/2007
Re: Cours pointeur en C
c'est effectivement le rôle d'un pointeur; pointer sur une zone mémoire, le fait de trop bidouiller dans la mémoire est trop risqué car ça peut endommager tout le système et c'est effectivement ce que font les pirates , ils essayent de modifier le système... mais ce sont des opérations de haut de gamme (dur dur), de plus elles sont trop risqué mais ça n'empêche pas à s'aventurer un petit peu...
P.S : le C est une bon langage pour apprendre à gérer la mémoire, car à chaque fois que tu utilises la fonction Malloc() t'es obligé d'utiliser après free() pour libérer la mémoire sinon vous tombre dans trop de fuites mémoires qui sont pas top top pour ton système...
Contrairement à d'autres langages comme Java, y a ce qu'on appelle Garbage collector qui permet de libérer les zones mémoires dont on a plus besoin...
De cette manière, le C donne un bon esprit de programmation ! genre le programmeur se dit : j'ai alloué 100 entiers, j'en ai plus besoin, je libère les 100 entiers.
Désolé, je crois que j'ai répondu et le reste c'était hors sujet...
Je fais cela pour te donner le maximum possible d'informations...
Je suis à ta disposition pour des éventuelles renseignements...
Bon courage
P.S : le C est une bon langage pour apprendre à gérer la mémoire, car à chaque fois que tu utilises la fonction Malloc() t'es obligé d'utiliser après free() pour libérer la mémoire sinon vous tombre dans trop de fuites mémoires qui sont pas top top pour ton système...
Contrairement à d'autres langages comme Java, y a ce qu'on appelle Garbage collector qui permet de libérer les zones mémoires dont on a plus besoin...
De cette manière, le C donne un bon esprit de programmation ! genre le programmeur se dit : j'ai alloué 100 entiers, j'en ai plus besoin, je libère les 100 entiers.
Désolé, je crois que j'ai répondu et le reste c'était hors sujet...
Je fais cela pour te donner le maximum possible d'informations...
Je suis à ta disposition pour des éventuelles renseignements...
Bon courage
Admin- Admin
- Nombre de messages : 170
Age : 39
Localisation : Compiègne France
Date d'inscription : 27/03/2007
Re: Cours pointeur en C
c'est bien comme ça surtout dans ce genre de probleme c mieux d'etre explicite tant que possible
et concernant les fonctions que tu as evoqué je vais en chercher car jé aucune idées sur leur utilité
jé une petite remarque concernant les fuite de la memoire je vois que le role du systeme d'exploitation est de recuperer l'espace memoire en faisant la fragmentation pour eviter les espaces lacunaires qui peuvent se produire( c bien evidement mais si on prends compte qu'une espace d'une variable ne sera pas touché et sera reservé tant que le programme est en execution)
je vois aussi que le logiciel utilisé (si par exemple tu utilise C++"dédié avec Visual Basic" à la place d'un logiciel qui d'execute sous DOS) on aura pas besoin de rafraichir la memoire pour autre execution du programme)
et concernant les fonctions que tu as evoqué je vais en chercher car jé aucune idées sur leur utilité
jé une petite remarque concernant les fuite de la memoire je vois que le role du systeme d'exploitation est de recuperer l'espace memoire en faisant la fragmentation pour eviter les espaces lacunaires qui peuvent se produire( c bien evidement mais si on prends compte qu'une espace d'une variable ne sera pas touché et sera reservé tant que le programme est en execution)
je vois aussi que le logiciel utilisé (si par exemple tu utilise C++"dédié avec Visual Basic" à la place d'un logiciel qui d'execute sous DOS) on aura pas besoin de rafraichir la memoire pour autre execution du programme)
dido- Nombre de messages : 175
Localisation : Guelmim (bab sahara)
Date d'inscription : 10/04/2007
Re: Cours pointeur en C
Pour les fonctions ne t'inquiète pas, vous allez les faire avec Monsieur Khabouch quand vous arriverez au chapitre d'Allocation dynamique de la mémoire.
Attention, la défragmentation n'est pas une opération faite automatiquement par le système! c'est pour l'utilisateur doit être sencé de savoir comment utiliser la mémoire (faire la défragmentation du disque, libérer les espaces non utilisés lors de la programmation, ...)
Si par exemple t'as fait un programme C dans lequel t'as alloué de la mémoire pour 1000 entiers et t'as oublié de la libérerà la fin du programme. Quand tu lances ton programme (on s'en fiche su on utilise VC++ ou autres), il alloue la mémoire pour les 1000 entiers, mais quand tu fermes ton programme, la mémoire reste toujours allouée mais si pas utilisés. Si tu relances à nouveau ton programme il alloue à nouveau la mémoire pour 1000 entier... (alors 2000*sizeof(int)) alouée en mémoire => 2000*sizeof(int) de gaspillage de mémoire.
C'est vrai que 2000*sizeof(int) est une petite mémoire par rapport à la taille d'un disque dur mais ça devient critique au fur et à mesure...
Peut etre tu vas me dire que je préfère de développer sous Java que j'auraias à gérer cette mémoire de ouf... je te dirais qu'il vaut mieux d'être un développeur malin en C qu'un autre bête développeur en Java qui ne sait même pas ce qui tourne dérrière.
Désolé mes chers développeurs Java mais faut quand même avoir de la responsabilité pour gérer votre mémoire
Attention, la défragmentation n'est pas une opération faite automatiquement par le système! c'est pour l'utilisateur doit être sencé de savoir comment utiliser la mémoire (faire la défragmentation du disque, libérer les espaces non utilisés lors de la programmation, ...)
Si par exemple t'as fait un programme C dans lequel t'as alloué de la mémoire pour 1000 entiers et t'as oublié de la libérerà la fin du programme. Quand tu lances ton programme (on s'en fiche su on utilise VC++ ou autres), il alloue la mémoire pour les 1000 entiers, mais quand tu fermes ton programme, la mémoire reste toujours allouée mais si pas utilisés. Si tu relances à nouveau ton programme il alloue à nouveau la mémoire pour 1000 entier... (alors 2000*sizeof(int)) alouée en mémoire => 2000*sizeof(int) de gaspillage de mémoire.
C'est vrai que 2000*sizeof(int) est une petite mémoire par rapport à la taille d'un disque dur mais ça devient critique au fur et à mesure...
Peut etre tu vas me dire que je préfère de développer sous Java que j'auraias à gérer cette mémoire de ouf... je te dirais qu'il vaut mieux d'être un développeur malin en C qu'un autre bête développeur en Java qui ne sait même pas ce qui tourne dérrière.
Désolé mes chers développeurs Java mais faut quand même avoir de la responsabilité pour gérer votre mémoire
Admin- Admin
- Nombre de messages : 170
Age : 39
Localisation : Compiègne France
Date d'inscription : 27/03/2007
Re: Cours pointeur en C
tout à fait ,je suis d'accord avec toi c'est bien de savoir controler et manipuler son memoire et le langage C nous entraine de faire ça, je cherche aussi la rapidité de la realisation des programmes alors à la place de casser la tete avec chaque variable que je dois le manipuler dans le programme, par exemple en VB j'aurais pas besoin de les declarer
dido- Nombre de messages : 175
Localisation : Guelmim (bab sahara)
Date d'inscription : 10/04/2007
Re: Cours pointeur en C
heureusement, on a juste etudié les fonction free & malloc pour l'allocation dynamique de la mémoire, je sais maintenant les manipuler
et voici un site qu'il comporte tous ce qui concerne le langage C, y compris bien sur les pointeurs (cours+exercice)
http://www.ltam.lu/tutoriel-ansi-c/homesol.htm
et voici un site qu'il comporte tous ce qui concerne le langage C, y compris bien sur les pointeurs (cours+exercice)
http://www.ltam.lu/tutoriel-ansi-c/homesol.htm
dido- Nombre de messages : 175
Localisation : Guelmim (bab sahara)
Date d'inscription : 10/04/2007
Re: Cours pointeur en C
T'as vu les connaissances c'est comme des briques, chacune vient pour compléter les lacunes
le malloc() et le free(à ont enfin venu pour compléter tes connaissances en C...
Je te souhaite bonne continuation.
Bien amicalement
le malloc() et le free(à ont enfin venu pour compléter tes connaissances en C...
Je te souhaite bonne continuation.
Bien amicalement
Admin- Admin
- Nombre de messages : 170
Age : 39
Localisation : Compiègne France
Date d'inscription : 27/03/2007
Sujets similaires
» pointeur...tout une problematique
» urgent!! cours et exercices Asp & Php
» cours c/c++
» cours en VB
» cours de MERISE
» urgent!! cours et exercices Asp & Php
» cours c/c++
» cours en VB
» cours de MERISE
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|