Pointeur (langage c

Résolu
simyamsmasters Messages postés 48 Statut Membre -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
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.

--
La grace est trompeuse et la beaute est vaine

10 réponses

  1. boulaayoun Messages postés 46 Date d'inscription   Statut Membre 2
     
    salut int = entier c-a-dir un nombre entier
    mais tab je ne souvient pas dsl hhhh
    0
  2. boulaayoun Messages postés 46 Date d'inscription   Statut Membre 2
     
    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
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Salut,
      Non pas du tout.
      tab, c'est surtout le nom de la variable. On aurait pu mettre toto.
      0
  3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
  4. boulaayoun Messages postés 46 Date d'inscription   Statut Membre 2
     
    tab je ne ponse pas qu'il signifie un nom de variable
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. boulaayoun Messages postés 46 Date d'inscription   Statut Membre 2
     
    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
  7. boulaayoun Messages postés 46 Date d'inscription   Statut Membre 2
     
    oui alors **tab on peut le remplacer par e qu'on veut ?
    0
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      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
  8. boulaayoun Messages postés 46 Date d'inscription   Statut Membre 2
     
    oui ok ton nom toi est toto ou koi ? tu repet chaque fou ce toto là
    0
  9. boulaayoun Messages postés 46 Date d'inscription   Statut Membre 2
     
    je te remerci bcp
    0
  10. boulaayoun Messages postés 46 Date d'inscription   Statut Membre 2
     
    je doit aller dormir bon nuit
    0
  11. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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