Pointeur (langage c

Résolu/Fermé
simyamsmasters Messages postés 45 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 - 11 mars 2009 à 01:15
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 11 mars 2009 à 07:54
Bonjour,

j aimerais savoir ce que sygnifie (int **tab) en langage C car je suis debutant et jusqu a present je n ai jamais un lu un seul cours a ce sujet. Merci de bien vouloir me repondre.

10 réponses

boulaayoun Messages postés 42 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 mars 2009 2
11 mars 2009 à 01:25
salut int = entier c-a-dir un nombre entier
mais tab je ne souvient pas dsl hhhh
0
boulaayoun Messages postés 42 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 mars 2009 2
11 mars 2009 à 01:28
ah oui mantenant je souvient alors :


tab= ca veut dir tableau en met tab10 par exemple qui signifie un tableau de 10 chifre ou 10 caractere
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
11 mars 2009 à 01:31
Salut,
Non pas du tout.
tab, c'est surtout le nom de la variable. On aurait pu mettre toto.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
11 mars 2009 à 01:35
Salut,
int **tab;

permet de déclarer un double pointeur. Cela permet notamment de faire un tableau à deux dimensions de manière dynamique. tab pointera sur une zone allouée dans le heap qui contiendra des int* (c'est-à-dire des pointeurs sur des entiers). Bien sûr, pour réaliser l'allocation des zones, il faudra utiliser malloc ou calloc.
Cdlt
0
boulaayoun Messages postés 42 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 mars 2009 2
11 mars 2009 à 01:36
tab je ne ponse pas qu'il signifie un nom de variable
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
11 mars 2009 à 01:39
Tab je ne ponse pas qu'il signifie un nom de variable
Eh bien, tu penses mal ;-)

int **tab; est de la forme : type variable; int** étant le type et tab la variable.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
boulaayoun Messages postés 42 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 mars 2009 2
11 mars 2009 à 01:42
oui merci fiddy mais la verite la programmation je ne l'aime jamais surtout c++
et pour simyamsmasters voile la wikipedia pour c++ https://fr.wikipedia.org/wiki/C%2B%2B
0
boulaayoun Messages postés 42 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 mars 2009 2
11 mars 2009 à 01:45
oui alors **tab on peut le remplacer par e qu'on veut ?
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
11 mars 2009 à 01:52
Non, seul tab est le nom de ta variable. Les étoiles devant sont là pour signaler qu'il s'agit d'un double pointeur.
Tu peux très bien mettre : int **toto.
0
boulaayoun Messages postés 42 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 mars 2009 2
11 mars 2009 à 01:55
oui ok ton nom toi est toto ou koi ? tu repet chaque fou ce toto là
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
11 mars 2009 à 01:58
Non, mon nom n'est pas toto. C'est ce qu'on appelle une variable métasyntaxique.
https://fr.wikipedia.org/wiki/Variable_m%C3%A9tasyntaxique
0
boulaayoun Messages postés 42 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 mars 2009 2
11 mars 2009 à 02:03
je te remerci bcp
0
boulaayoun Messages postés 42 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 mars 2009 2
11 mars 2009 à 02:04
je doit aller dormir bon nuit
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
11 mars 2009 à 07:54
Salut,

Oui alors **tab on peut le remplacer par e qu'on veut ?

C'est vrai qu'on peut écrire int **tab mais en réalité il ne s'agit pas de **tab de type int mais de tab de type int**

Pour enlever toutes les doutes vaut peut être mieux écrire int** tab
En ce qui concerne le nom de la variable (dans ton cas tab), tu peux utiliser quel nom tu veux en respectant biensûr quelques conditions

- un mot cle (if, switch, close, case, while, do, etc.) ne doit pas être utiliser comme nom de variable
- le nom de variable doit commencer avec un caractère alphabétique
- pas d'accents dans le nom de variables
- pas des espaces ou autres caractèr spécial dans le nom

Bref, à utiliser :
- les lettres (sans accent):
   de a à z
   de A à Z
- les chiffres de 0 à 9 
- le caractère souligné (underscore) _

Pour eviter les conflits avec les déclarations dans les fichiers d'en-tête, vaut mieux eviter commencer le nom de variable avec un caractère souligné _
0