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 :

Affectation de 2 tableau (T1=T2)


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 141
    Par défaut Affectation de 2 tableau (T1=T2)
    Bonjour,

    je me pose actuellement une question : lorsque l'on programme en C l'affectation d'un tableau t1=T2 se fait par ou une recopie ?



    merci

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par nzo70 Voir le message
    je me pose actuellement une question : lorsque l'on programme en C l'affectation d'un tableau t1=T2 se fait par une recopie de pointeur ou une recopie case a case?
    La recopie case à case est impossible en C et sera rejetée par le compilateur. Il faut utiliser memcpy pour recopier case à case (ou une boucle pour parcourir le tableau).

    Maintenant, si le compilateur autorise l'affectation, c'est que c'est une copie de pointeur qui a été faite.

    Citation Envoyé par nzo70 Voir le message
    De plus je voudrais savoir comment son réalisésles passages de paramètres par valeur et par adresse d'un tableau?
    La règle est très simple, un tableau est toujours passé par adresse à une fonction
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Pour compléter la réponse de ram-0000 :

    La question des tableaux est relativement simple bien qu'étant une exception dans le traitement des objets en C :

    1- Dans tous les cas excepté lorsqu'il est associé aux opérateurs unaires & (adresse de) et sizeof, l'identificateur d'un tableau est une valeur représentant l'adresse du premier élément du tableau. Son type est donc "adresse d'un élément du tableau" et elle peut être affectée à un objet pointeur du type adéquat : "pointeur = tableau".
    Comme l'adresse d'un objet n'est pas modifiable et a été fixée à sa création, cette valeur (représentée par l'identificateur du tableau) n'est pas modifiable et on n'a jamais le droit d'écrire "tableau = .......".

    2- La question
    lorsque l'on programme en C l'affectation d'un tableau t1=T2 se fait par une recopie de pointeur ou une recopie case a case?
    ne se pose pas : il est interdit d'écrire ce code (si t1 est un tableau). Il faut que t1 soit un pointeur.

    3-
    De plus je voudrais savoir comment son réalisésles passages de paramètres par valeur et par adresse d'un tableau?
    En C, les paramètres des fonctions sont sans exception aucune passés par valeur.
    Si dans le cas de l'identificateur d'un tableau, c'est l'adresse de son premier élément qui est passé en argument, c'est en vertu de ce qui est exposé en (1)

Discussions similaires

  1. problème affectation d'un tableau de char
    Par midotek dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 07/12/2008, 22h50
  2. Affectation d'un tableau
    Par alouha dans le forum Collection et Stream
    Réponses: 14
    Dernier message: 14/06/2008, 22h46
  3. Affectation d'un tableau
    Par rico3434 dans le forum Débuter
    Réponses: 1
    Dernier message: 19/11/2007, 17h42
  4. Affectation dans un tableau d'objet
    Par kheiro dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 30/08/2007, 13h13
  5. affectation sur un tableau dynamique
    Par oranoutan dans le forum C
    Réponses: 35
    Dernier message: 27/06/2007, 01h16

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