Accueil > Forum > > > > Fonction et Tableau
Fonction et Tableau
vendredi 26 novembre 2004 à 18:44:32 |
Fonction et Tableau

toff86
|
Salut !! J'suis débutant en C. Mon probleme est le suivant: Je sais comment fonctionne le passage de parametres d'une variable avec les foncions. Mais je ne sais pas comment cela fonctionne avec un tableau. Si quelqu'un pouvais me faire un petit tuto tout simple et si possible sans pointeurs, je suis preneur. Merci d'avance KRIS 83
|
|
vendredi 26 novembre 2004 à 19:41:19 |
Re : Fonction et Tableau

djl
|
par ddéfinition on ne peut pas passer un tableau en parametre à une fonction mais il suffit de passer un pointeur (=variable qui contient une adresse) qui contiendra l'adresse du premier element du tableau (= son nom)
/* le prototype de la fonction */ void func( int *v ); /* ou const int *v si la fonction ne modifie pas les données pointées par v */
int v[10]; /* v est l'adresse de son premier element */
/* appel */ func( v );
dans la fonction, utilise v comme un pointeur, tu peux (comme pour un tableau) acceder aux éléments avec l'opérateur []
|
|
vendredi 26 novembre 2004 à 19:42:13 |
Re : Fonction et Tableau

AlexMAN
|
Passage de parametres sans parler de pointeurs, c pas possible, regarde je t'explique, je prends l'exemple d'une fonction que tu as surement du utiliser :
char strcpy(char *dest, const char *src);
lorsk tu appelles strcpy, tu fais de cette maniere :
char szdest[256]; char szsrc[] = "Coucou";
strcpy(szdest, szsrc);
Tu as passé en parametre de la fonction, tes deux tableaux...Mais la particularité du C, c que lorsk tu ecris :
szdest;
Tu designes en fait ceci : &szdest[0], qui est l'adresse du premier element du tableau, et ceci peu impote le type du tableau (int, char...etc). Donc si tu veux passer un tableau a une fonction que tu crées toi mm, le prototype peut etre :
int coucou(int *hello); int coucou(int hello[]); int coucou(int hello[520]); //peu importe la 'taille ke tu mets' (ici 520), elle ne sera pas prise en compte
Ces trois ecritures sont totalement equivalentes. Et pour l'appeler, tu feras de cette maniere :
int hello[500];
coucou(hello);
Et dans ta fonction coucou, tu utilises le tableau de la mm maniere que dans la fonction appelante :
int coucou (int *hello) {
coucou[2] = coucou[0] + coucou[1];
.... }
Pour connaitre la taille de ton tableau dans 'coucou' , il te faudra ajouter un parametre ki contiendra cette taille, paskun appel a sizeof te donnera 4 (taille d'un pointeur car ca designera, comme dit plus haut, &hello[0]). Voila :
int coucou(int *hello, int len);
Voila, j'espere avoir répondu a la question, sinon, si kelks aspects restent obscurs, n'hesite pas.
Bonne chance
++
+2(p - n)
|
|
samedi 27 novembre 2004 à 14:05:17 |
Re : Fonction et Tableau

toff86
|
Merci a tt les deux, je vai étudier ca de plus près ainsi que les pointeurs. @++ KRIS 83
|
|
dimanche 28 novembre 2004 à 09:38:25 |
Re : Fonction et Tableau

boumarsel
|
void fnct(int varlocal[]) { varlocal[0]=4; printf("%d",varlocal[0]); }
int main() { int iparam[10]; fnct(iparam); }
|
|
jeudi 23 décembre 2004 à 15:23:02 |
Re : Fonction et Tableau

globe_dk
|
Moi j'aurais une petite question.
Si j'ai un tableau a deux dimensions comment on fait? parceque j'arrive pas comme ca!
void afficher(int *pTab){ printf("%d", pTab[0][0]); }
main() { int tab[2][5]={{1,2,3,4,5},{6,7,8,9,10}}; afficher(tab); }
Ca ne marche pas ca et je ne comprend pas pourquoi. Il me met comme erreur : error C2664: 'afficher' : impossible de convertir le paramètre 1 de 'int [2][5]' en 'int *'
|
|
Cette discussion est classée dans : fonction, font, tableau, fonctionne, comic
Répondre à ce message
Sujets en rapport avec ce message
HWND Fonction [ par Crew209 ]
Crew209J'arive pas a utilisé vos fonction :'( ! pouvez vous détaillé chaque param svp ?? Merci BOCOUP !
creer une fonction retournant un tableau [ par billcala ]
j'essaie de créer une fonction qui doit initialiser un tableau d'entiers : le code que je fais est :int mafonction()[8];using namespace std;int mafonc
[TC++]PB d'affichage d'informations d'un fichier [ par kobee12 ]
voici en dessous une fonction qui charge les informations d'un fichier avec la fonction Charger_Info, en faisant passer certains arguments, qui corres
Redimensionner une image [ par xleureaud ]
J'aimerais pouvoir agrandir et reduire une image avec une scrollbar mais je n'y arrive pas, de plus je dois afficher la valeur de la position du cuse
image et curseur [ par xleureaud ]
comment crée une image avec un curseur intégré dedans avec cppBuilder 5 merci
Tableau de structure [ par tomsawyerbelgique ]
Bonjour suriez-vous me dire comment fait-on pour passer un tableau de structure dans une fonction:struct student { char nom[10]; int nbcot
REGEDIT [ par Vincman87 ]
Bonjour,Je voudrait savoir comment recuperer une valeur dans la base de registre de windows pour l'utilisée dans un programme C++ !J'ai Borland C++ Bu
bouton image [ par altay ]
L'analyste programmeur a 3 dimensionje recherche un moyen de changer l' image d'un bouton lorsque l'on clique dessus .j'ai essayer d'ecrire le code su
comment changer la couleur d'une progressbar [ par xleureaud ]
j'utilise c++builder etje voudrais changer la couleur d'une progressbar mais je sais pas comment changer la couleurje ne trouve pas cette propriéte Me
matrice calcul [ par altay ]
L'analyste programmeur a 3 dimensionmercredi je passe un oral de math pendant lequel je doit presenter un programme de calcul matriciel et je n'ai eu
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion
Forum
RE : WIN APIRE : WIN API par omarino_007
Cliquez pour lire la suite par omarino_007
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|