Langage C_ larger et longueur tableaux
Fermé
tati29
-
30 déc. 2009 à 20:29
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 31 déc. 2009 à 00:53
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 31 déc. 2009 à 00:53
A voir également:
- J'aimerais savoir ca longueur et ca largeur
- Une image subliminale a été incrustée dans la vidéo à télécharger. quelle est la largeur de cette image ? - Forum Format et connectique vidéo
- Longueur iban invalide ✓ - Forum Réseaux sociaux
- Paramétrez l'impression de ce document de telle sorte que les 5 colonnes occupent toute la largeur de la page (orientation portrait, format a4). combien de pages seront imprimées ? ✓ - Forum Excel
- Mesurer longueur avec telephone - Guide
- Dimension tv 43 pouces longueur et largeur - Forum TV & Vidéo
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
30 déc. 2009 à 23:14
30 déc. 2009 à 23:14
Salut,
Tu souhaites calculer la longueur et la largeur du tableau dans la fonction où il a été défini ? Ou tu souhaites les calculer dans la fonction où tu envoies le tableau en argument ?
SI c'est la première proposition, tu t'en sors facilement avec les sizeof. Si c'est la seconde proposition, ce n'est pas possible, il faut que tu envoies la première dimension du tableau en argument, la seconde peut se retrouver avec les sizeof.
Précise moi de quels cas tu parles, et je peux te faire un exemple si tu veux.
Cdlt,
Tu souhaites calculer la longueur et la largeur du tableau dans la fonction où il a été défini ? Ou tu souhaites les calculer dans la fonction où tu envoies le tableau en argument ?
SI c'est la première proposition, tu t'en sors facilement avec les sizeof. Si c'est la seconde proposition, ce n'est pas possible, il faut que tu envoies la première dimension du tableau en argument, la seconde peut se retrouver avec les sizeof.
Précise moi de quels cas tu parles, et je peux te faire un exemple si tu veux.
Cdlt,
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
31 déc. 2009 à 00:53
31 déc. 2009 à 00:53
Dans ce cas, tu devras impérativement passer au minimum la première dimension en argument. Il n'est pas possible en C de la retrouver. La seconde dimension pourra être retrouvée.
Le prototype de ta fonction sera donc du style (au minimum) : void fonction(int tab[][NB_COL], const int ligne);
avec #define NB_COL 15 (par exemple).
Pour retrouver NB_COL par le calcul (pas très utile ici), il suffit de faire sizeof *tab/sizeof **tab
Mais autant envoyer le nombre de ligne et de colonne en argument. Par exemple : void fonction(int tab[][NB_COL], const int ligne, const int colonne);
Ainsi tu y accès facilement dans ta fonction.
length(tab)
length n'existe pas en C. Peut-être veux-tu dire sizeof tab
sizeof tab au sein de la fonction recevant le tableau en argument, te retournera la taille d'une adresse en byte. Dans la fonction où ton tableau est définie, cela te renverra la taille que prend le tableau en byte.
Le prototype de ta fonction sera donc du style (au minimum) : void fonction(int tab[][NB_COL], const int ligne);
avec #define NB_COL 15 (par exemple).
Pour retrouver NB_COL par le calcul (pas très utile ici), il suffit de faire sizeof *tab/sizeof **tab
Mais autant envoyer le nombre de ligne et de colonne en argument. Par exemple : void fonction(int tab[][NB_COL], const int ligne, const int colonne);
Ainsi tu y accès facilement dans ta fonction.
length(tab)
length n'existe pas en C. Peut-être veux-tu dire sizeof tab
sizeof tab au sein de la fonction recevant le tableau en argument, te retournera la taille d'une adresse en byte. Dans la fonction où ton tableau est définie, cela te renverra la taille que prend le tableau en byte.
31 déc. 2009 à 00:28
J'applique à cette image (ou le contenu du tableau) une rotation pour la redresser puis une homothétie pour la contenir dans un nouveau tableau 64*64.
C"est pour cette homothétie que j'ai besoin des dimensions du tableau passé en argument.
savez-vous ce que donnerai length(tab) ?
Merci pour votre réponse