Bonjour

Pour tester l'interet d'utiliser const pour passer des pointeurs comme parametre d'entree ( non modifiable par un efonction ) j'ai utilise le code suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
#include <stdio.h> 
#include <stdlib.h> 
#include <string.h> 
 
 
void  update ( char const * chr)
{
   char * string = (char *) chr;
    string[0]= 'b';
 
}
int main (void) 
 
{ 
    char string[]="mokhtar";
    update(string);
    printf ( "result = %s\n", string);
 
return 0 ; 
 
}
je m'attendais a ce la chaine que j'ai passe ne soit pas modifie
surprise a l'execution de ce programme l achaine est modifiee
result = bokhtar
Remarque j'ai compile avec l'option -Wall

Alors a quoi sert d'utiliser des const dans les parametres de fonctions?