A voir également:
- Tableau/pointeur passer en parametre
- Tableau croisé dynamique - Guide
- Netflix paramètre compte - Guide
- Tableau ascii - Guide
- Tableau word - Guide
- Passer de windows 7 à windows 10 - Guide
2 réponses
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
13 déc. 2010 à 19:04
13 déc. 2010 à 19:04
Quel mélange... un coup c'est 'int*, un coup c'est 'int[]'. Pourquoi pas mais apparemment tu ne suis pas.
A corriger (au moins):
- scanf("%d",t[i]); en &t[i] ou t+i,
- remplir(&A,n); en A.
Mais le compilateur doit le signaler !
Bonne continuation.
A corriger (au moins):
- scanf("%d",t[i]); en &t[i] ou t+i,
- remplir(&A,n); en A.
Mais le compilateur doit le signaler !
Bonne continuation.
lucieb31
Messages postés
345
Date d'inscription
mercredi 14 janvier 2009
Statut
Membre
Dernière intervention
28 juillet 2012
62
13 déc. 2010 à 16:39
13 déc. 2010 à 16:39
P.e pourrai tu nous donner le code que tu avais écris pour qu'on corrige les erreurs.
#include <stdio.h>
#include <conio.h>
void remplir (int* t, int n)
{
int i;
for (i=0; i<n; i++)
{
printf(" Donner t[%i] : ",i);
scanf("%d",t[i]);
}
}
void saisie (int* n)
{
printf("Donner la taille du tableau : ");
scanf("%d",n);
}
void affichage (int t[], int n)
{
int i;
for (i=0; i<n; i++)
printf(" %d ",t[i]);
}
int* A;
main()
{
int n;
saisie(&n);
A=malloc(n*sizeof(int));
remplir(&A,n);
affichage(A,n);
getch();
}
#include <conio.h>
void remplir (int* t, int n)
{
int i;
for (i=0; i<n; i++)
{
printf(" Donner t[%i] : ",i);
scanf("%d",t[i]);
}
}
void saisie (int* n)
{
printf("Donner la taille du tableau : ");
scanf("%d",n);
}
void affichage (int t[], int n)
{
int i;
for (i=0; i<n; i++)
printf(" %d ",t[i]);
}
int* A;
main()
{
int n;
saisie(&n);
A=malloc(n*sizeof(int));
remplir(&A,n);
affichage(A,n);
getch();
}
13 déc. 2010 à 19:20
ms a propos int[] et int*, je voudrais utiliser les deux (passage par valeur et variable) dans le mémé programme car je suis débutant en langage C et je veux savoir la différence.
Pouvez-vous m'expliquer la difference svp et quel methode est plus rapide et conseillée.
13 déc. 2010 à 19:49
En 'C' il n'y a que la transmission par valeur qui existe. Dire que la transmission par adresse existe est une erreur, il s'agit en fait d'une transmission de la valeur... d'une adresse.
La différence entre un pointeur (int*) et un tableau (int[]) est (essentiellement) la suivante:
'int*' est un pointeur variable (au sens ou on peut modifier l'adresse vers laquelle il pointe),
'int[]' est un pointeur constant (il ne peut que pointer vers le tableau déclaré à l'initialisation).
Bonne réflexion.
13 déc. 2010 à 20:01