IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

opérateur sizeof


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    .
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Par défaut opérateur sizeof
    Bonjour , je suis en train de coder une fonction similaire à scanf mais sans utilisation de format etc ... La fonction récupère juste des chaines mais elle prends en compte <space> et <tab> contrairement à scanf. Enfin bref, c'est pas le sujet Sauf que pour réaliser ma fonction je veux me servir de l'opérateur sizeof mais celui-ci me fait tourner en bourrique.
    Je m'explique
    si je fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char string[10];
    	printf("%d\n\n", sizeof(string));
    J'ai 10 sur stdout .
    et lorsque je créé une fonction test où j'ai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    int taille(char* t)
    {
    	return sizeof(t);
    }
     
    int main()
    {
            char string[10];
            int x = sizeof(string);
            printf("%d\n",x);
            x  = taille(string);
            printf("%d",x);
            return 0;
    }
    Je n'obtient pas le même résultat.
    Si quelqu'un pourrai m'aider, je lui en serrai reconnaissant

  2. #2
    Membre éclairé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Par défaut
    Classique


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    char *t;
     
    sizeof(t); // taille du pointeur = 8
     
    char t[10];
     
    sizeof(t) // taille du tableau * taille d'un élément du tableau = 10
    Pour avoir la taille d'un char* il faut utiliser la fonction strlen

  3. #3
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Et la raison, c'est qu'un tableau n'est pas un pointeur, mais que son nom est convertible en pointeur vers son premier élément.

  4. #4
    Membre habitué
    Homme Profil pro
    .
    Inscrit en
    Juin 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Juin 2015
    Messages : 8
    Par défaut
    Citation Envoyé par leternel Voir le message
    Et la raison, c'est qu'un tableau n'est pas un pointeur, mais que son nom est convertible en pointeur vers son premier élément.
    Merci tu viens de dire en une ligne ce que en 30 pages certains essaye de dire et n'arrive pas à me faire comprendre.

  5. #5
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1

  6. #6
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Cool, c'était ma B.A. d'hier, alors!

Discussions similaires

  1. sizeof
    Par drKzs dans le forum C
    Réponses: 6
    Dernier message: 04/10/2003, 23h48
  2. Erreurs (sizeof)
    Par deepfear dans le forum C
    Réponses: 13
    Dernier message: 25/09/2003, 13h56
  3. Opérateur like
    Par Troopers dans le forum ASP
    Réponses: 3
    Dernier message: 15/09/2003, 19h19
  4. opérateur non applicable à ce type d'opérande
    Par Amon dans le forum Langage
    Réponses: 3
    Dernier message: 11/06/2003, 18h07
  5. [imprecis]Réaliser a^n avec seulement l'opérateur d'addition
    Par Amon dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 08/11/2002, 22h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo