Bonjour,
Tout est dans le titre.
Exemple :
int tab[3]={0,1,2,3}; // déclaration
tab = {4,5,6,7}; // assignation
mais ca ne fonctionne pas
merci
Bonjour,
Tout est dans le titre.
Exemple :
int tab[3]={0,1,2,3}; // déclaration
tab = {4,5,6,7}; // assignation
mais ca ne fonctionne pas
merci
c'estEnvoyé par jphi5
Code : Sélectionner tout - Visualiser dans une fenêtre à part int tab[4]
Ton tableau posséde 3 éléments(type int ici).Tu essaies cependant de l'initialiser avec 4 éléments(0,1,2,3).Envoyé par jphi5
Pour affecter une valeur à un élément dans un tableau on peut utiliser l'indice de ce dernier.Envoyé par jphi5
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 tab[0]=4; //affectation de la valeur 4 au premier élément du tableau tab[1]=5; //affectation de la valeur 5 au second élément du tableau tab[2]=6; //affectation de la valeur 6 au troisiéme élément du tableau tab[3]=7; //erreur,indice tableau hors borne.
Il y a déjà trop d'éléments dans ton tableau...
La déclaration se fait ainsi :
EDIT: oops il faut répondre vite ici
Code : Sélectionner tout - Visualiser dans une fenêtre à part int tab[3] = {0,1,2};![]()
Oui désolé, c'est une faute de frappe.Ton tableau posséde 3 éléments(type int ici).Tu essaies cependant de l'initialiser avec 4 éléments(0,1,2,3).
Justement c'est ce que je ne veux pas faire. Je cherche à assigner toutes les valeurs en une seule fois et en une seule ligne.Pour affecter une valeur à un élément dans un tableau on peut utiliser l'indice de ce dernier.
En C ce n'est à priori pas possible,mais je peut me tromper.Justement c'est ce que je ne veux pas faire. Je cherche à assigner toutes les valeurs en une seule fois et en une seule ligne.
La solution soit manuellement soit une boucle si possible.
Nas'
Tu peux copier un tableau 'de référence' dans un tableau fraichement crée avec memcpy().Envoyé par jphi5
Pose des questions si tu ne comprends pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 /* tableau de reference (lecture seule) */ static const int z[] = {1,2,3,4}; ... { int a[sizeof z / sizeof *z]; memcpy (a, z, sizeof a); /* <string.h> */ }
Pkoi faire ? dans quelle situation on aura besoin de ce truc??Envoyé par Emmanuel Delahaye
sizeof z ---->donne la taille du tableauEnvoyé par Emmanuel Delahaye
sizeof *z---->???????????
La taille d'un élément en bytes. Le rapport entre les deux donne le nombre d'élements.Envoyé par rbanana
Jconnaissais pas sizeof * ...
Chavais pas non plus que les parentheses étaient facultatives
Bah, si tu savais le nombre de choses que je ne sais pas...Envoyé par Gruik
pourquoi ces 2 attributs?
Code : Sélectionner tout - Visualiser dans une fenêtre à part static const
et pourquoi en global?
static pour réduire la portée au module courant. (vieux reflexe)Envoyé par seriousme
const parce que seul un acces en lecture nous intéresse.
global (mais limité au module par static), parce que ça peut peut être servir dans plusieurs fonctions (en lecture seule, c'est pas dangereux). Mais c'est vrai que c'est discutable, car ça crée des dépendances...
Merci de ces précisions.(je savais pas que static réduisait la portée)
Partager