Langage C question debutant
Résolu
LaZo61
Messages postés
53
Date d'inscription
Statut
Membre
Dernière intervention
-
riadh01 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
riadh01 Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour ca signifie quoi lorsqu'on fait
*ptr=0x00;
Est ce qu'onp eut le remplacer par
*ptr='/0';
merci ?
*ptr=0x00;
Est ce qu'onp eut le remplacer par
*ptr='/0';
merci ?
A voir également:
- Langage C question debutant
- Langage ascii - Guide
- Langage binaire - Guide
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Pascal langage - Télécharger - Édition & Programmation
19 réponses
Bonjour.
*ptr=0x00;
assigne la valeur 0 à "*ptr"
*ptr='\0' assigne le caractère nul.
je ne sais pas si c'est la même chose.
Pour vérifier, fait une sortie de '\0' avec printf en lui demandant de sortir un entier :
printf("%d",int('\0'));
*ptr=0x00;
assigne la valeur 0 à "*ptr"
*ptr='\0' assigne le caractère nul.
je ne sais pas si c'est la même chose.
Pour vérifier, fait une sortie de '\0' avec printf en lui demandant de sortir un entier :
printf("%d",int('\0'));
Alors pas de reponse
Je veux juste savoir si
*ptr=0x00 <=> *ptr='\0'
ou <=>ptr=""
en faite si je fais un printf("%s",ptr) il ne m'affiche rien est ce que je peux conclure qu'il lui assigne le caractere null ?
merci
Je veux juste savoir si
*ptr=0x00 <=> *ptr='\0'
ou <=>ptr=""
en faite si je fais un printf("%s",ptr) il ne m'affiche rien est ce que je peux conclure qu'il lui assigne le caractere null ?
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Heu je crois que si tu mets *ptr=0x00, ca te met le pointeur à l'adresse 0 ca ne travaille pas sur la valeur..
*ptr='\0' te met le caractère de fin de chaine à l'adresse pointée
*ptr='\0' te met le caractère de fin de chaine à l'adresse pointée
pour moi 0x00 c'est 0 en hexadecimal.
je ne voi pas pourquoi lorsque tu fait *ptr=0x00 tu modifierait l'adresse du pointeur.
Si je veux annulé un poiinteur je fait : ptr=0 (ou 0x00) sans l'étoile.
essai ça alors :
printf("essai : %d",int('\0'));
en fait un caractère correspond à une valeur d'entier. Le tout est de savoir si '\0'==0.
D'ailleur tu peux tenté ça comme code :
je ne voi pas pourquoi lorsque tu fait *ptr=0x00 tu modifierait l'adresse du pointeur.
Si je veux annulé un poiinteur je fait : ptr=0 (ou 0x00) sans l'étoile.
essai ça alors :
printf("essai : %d",int('\0'));
en fait un caractère correspond à une valeur d'entier. Le tout est de savoir si '\0'==0.
D'ailleur tu peux tenté ça comme code :
if ('\0'==0) printf("equivalence entre \\0 et 0"); else printf("pas d'equivalence\n");ta syntax erreur, il la met où?
Oki j'ai dû me gourer alors j'avais fait des tests là-dessus et j'avais eu un truc avec des passages auto par adresse si on utilisait 0x
C'était ptet en passant 0x dans une variable j'vérifierais
Sinon le caractère \0 vaut bien 0, ou NULL
C'était ptet en passant 0x dans une variable j'vérifierais
Sinon le caractère \0 vaut bien 0, ou NULL
me souvein plus bien, il faut que je revoi mon C:
Le truc en plus si je fais
un prtinf ("%s",ptr);
il ne m'affiche rien de chez rien :(
--
ptr c'est un pointeur. me demande s'il faut pas déferencer le pointeur (comme j'ai dit me souviens plus bien alors une confirmation ca serait bien)
maintenant oui 0x00 c'est 0 en héxa et 0 en hexa c'est 0 en décimal et en binaire donc c'est pas "\O"
essaye un printf("%x",\O);
pas testé mais de toute facon le comme j'ai dit, un 0 reste un 0 meme un 0x00 :) donc le caractere nul, je ne pense pas que ce soit le meme.
EDIT /// ok j'ai rien dit :) je viens d'apprendre un truc :D
Le truc en plus si je fais
un prtinf ("%s",ptr);
il ne m'affiche rien de chez rien :(
--
ptr c'est un pointeur. me demande s'il faut pas déferencer le pointeur (comme j'ai dit me souviens plus bien alors une confirmation ca serait bien)
maintenant oui 0x00 c'est 0 en héxa et 0 en hexa c'est 0 en décimal et en binaire donc c'est pas "\O"
essaye un printf("%x",\O);
pas testé mais de toute facon le comme j'ai dit, un 0 reste un 0 meme un 0x00 :) donc le caractere nul, je ne pense pas que ce soit le meme.
EDIT /// ok j'ai rien dit :) je viens d'apprendre un truc :D
il me met error syntaze before int,
une autre question subsidiere qui me tracasse la tete
#define MAX(a,b) (a<b?b:a)
#define FSET(a,b,c) (FD_ISSET(a,c)?a:b)
#define NFSET(a,b,c) (FD_ISSET(a,c)?b:a)
le define je comprend mai on afecte FSET(a,b,c) a quoi exactement je nai pas compris avec les parentheses :(
merci
une autre question subsidiere qui me tracasse la tete
#define MAX(a,b) (a<b?b:a)
#define FSET(a,b,c) (FD_ISSET(a,c)?a:b)
#define NFSET(a,b,c) (FD_ISSET(a,c)?b:a)
le define je comprend mai on afecte FSET(a,b,c) a quoi exactement je nai pas compris avec les parentheses :(
merci
tu défini une macro fonction.*
dans ton code après tu peux écrire :
MAX(3,1) et ça retourne 3.*Si c'est bien ça ta question
dans ton code après tu peux écrire :
MAX(3,1) et ça retourne 3.*Si c'est bien ça ta question
Ha ! ça !
En fait, c'est une écriture condensé.
Soit A,B,C trois expressions.
A?B:C
est équivalent à :
if(A) return B; else return C;
Voilà, j'espère que ça répond à ta question.
En fait, c'est une écriture condensé.
Soit A,B,C trois expressions.
A?B:C
est équivalent à :
if(A) return B; else return C;
Voilà, j'espère que ça répond à ta question.
Merci c'est clair et net c'est un peur normal c'est sur internet :)
une petite blague pour reveiller tou le ptit monde :) ca ne fait pas de mal
une petite blague pour reveiller tou le ptit monde :) ca ne fait pas de mal
coucou, Je vais juste savoir comment on peut ecrire un algorithme pour exprimer un nombre comme 123 ou 3421, en combinant structures et tableaux?
slut .j ai problemme avec cet exercice
ecris le programme qui lis un nombre puis affiche le nombre de chifre :
198 il contient 3 chiffres
******
ecris le programme qui affiche
*
**
***
****
*****
******
*******
********
aide mois SVP
NB les programme doit etr en c
ecris le programme qui lis un nombre puis affiche le nombre de chifre :
198 il contient 3 chiffres
******
ecris le programme qui affiche
*
**
***
****
*****
******
*******
********
aide mois SVP
NB les programme doit etr en c