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 :

comment affecter un tableau a un autre tableau?


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Par défaut comment affecter un tableau a un autre tableau?
    bonjour,
    comment faire pour affecter un tableau à un autre tableau?
    car j'ai fais un programme pour afficher la temperature sur un afficheur graphique, j'ai réaliser une font pour pouvoir juste modifier 1/4 de l'ecran, a l'endroit ou ce trouve la partie temperature qui varie
    voila une ligne de mon programme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    GLCD_write_data(1,i<8?val_temp_x[j+(i-4)*64]:0x00);
    donc ce qui vari c'est le tableau val_temp_x car chaque fois que la temperature change le tableau change ex pour 1° on aura val_temp_1
    merci

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Un memcpy devrait faire l'affaire Enfin si c'est bien une copie d'un tableau A dans un tableau B que tu veux
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Par défaut
    Citation Envoyé par Franck.H
    Un memcpy devrait faire l'affaire Enfin si c'est bien une copie d'un tableau A dans un tableau B que tu veux
    merci pour l'information mais le souci c'est que j'arrive pas a faire fonctionner le memcpy je tape la ligne de commande suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void *memcpy(void *tab1[], CONST void *temp_1[], size_t 256);
    et sa me mais sa comme erreure:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ./main.c
    !E ./main.c(163): syntax error; found `256' expecting `)'
    !E ./main.c(163): skipping `256'
    !E ./main.c(163): redeclaration of `memcpy' previously declared at C:/PROGRA~1/CYPRES~1/PSOCDE~1/tools/include/string.h(27)
     
    C:\PROGRA~1\CYPRES~1\PSOCDE~1\tools\make: *** [obj/main.o] Error 1
     
    lcd_adc - 4 error(s) 0 warning(s) 13:41:23

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par eric47
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void *memcpy(void *tab1[], CONST void *temp_1[], size_t 256);
    Et depuis quand on passe des arguments et on utilise des fonctions de cette manière ? Ton tableau est de quel type ?
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  5. #5
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Voici un exemple très basique:
    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
    23
    24
    25
    26
    27
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
     
     
    int main (void)
    {
       int i = 0;
       int tab1 [] = { 1, 2, 3, 4, 5 };
       int tab2 [5];
     
     
       memcpy (tab2, tab1, 5 * sizeof (int));
     
       for (i = 0; i < 5; i++)
          printf ("%d ", tab1[i]);
     
       printf ("\n");
     
       for (i = 0; i < 5; i++)
          printf ("%d ", tab2[i]);
     
       printf ("\n");
     
     
       return EXIT_SUCCESS;
    }
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Par défaut
    Citation Envoyé par Franck.H
    Et depuis quand on passe des arguments et on utilise des fonctions de cette manière ? Ton tableau est de quel type ?
    desolé je suis pas tres doué avec language C

    ce sont des char

    const char tab1[];

  7. #7
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par eric47
    ce sont des char

    const char tab1[];
    Il te suffit de faire comme dans mon exemple, sauf pour le sizeof, inutile dans ce cas car un char vaut 1
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  8. #8
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par eric47
    desolé je suis pas tres doué avec language C
    Personne n'est doué avec le langage C. Par contre, il y a ceux qui bricolent en croyant tout savoir et ceux qui apprennent sérieusement (livre, tutoriel, stage, cours). C'est ça la différence...

  9. #9
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par eric47
    merci pour l'information mais le souci c'est que j'arrive pas a faire fonctionner le memcpy je tape la ligne de commande suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void *memcpy(void *tab1[], CONST void *temp_1[], size_t 256);
    Mais c'est quoi ce cirque ? Avant de prétendre réaliser une application en C, il s'agirait peut être d'apprendre à utiliser ce langage et d'en connaitre les bases.

    Appeler une fonction est une opération basique décrite dans ton livre de C.

    K&R2 : Annexe A7.3.2

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/02/2021, 10h49
  2. affectation tableau ds un autre tableau
    Par kinenveux dans le forum VBScript
    Réponses: 3
    Dernier message: 19/01/2011, 10h48
  3. [Toutes versions] transformation d'un tableau en un autre tableau
    Par fraid49 dans le forum Excel
    Réponses: 2
    Dernier message: 03/06/2010, 14h24
  4. Réponses: 2
    Dernier message: 04/07/2008, 14h24
  5. création de tableau dans un autre tableau
    Par freestyler dans le forum Delphi
    Réponses: 2
    Dernier message: 02/11/2006, 08h54

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