Définir un tableau

Résolu
Bonjour,

Une petite question, je voulais savoir si en C, je pouvais définir des tableaux de cette manère :

int** monTableau;

C'est parce que j'ai vu un code dans lequel tout les tableaux étaient définis comme ça.

Merci !

4 réponses

  1. Modérateur
    Oui c'est possible, un tableau ce n'est qu'un pointeur...

    Remarque : si tu considères que cette structure est un tableau, alors c'est un tableau deux dimensions.
    0
    1. OK, merci, mais "un tableau a deux dimensions" ça veut dire quoi exactement, je peux stocker lettres comme pour un char tableau[] ?

      Et il y a une manière particulière pour allouer dynamiquement un tableau a deux dimensions ou c'est la même chose que pour un tableau a une dimension ?
      0
      1. Modérateur
        Deux dimensions, ça veut dire que c'est comme faire int[][].

        Pour l'allocation dynamique tu devras faire quelque chose dans ce genre là :

        int n=2, m=2;
        
        int** mat = malloc(n*sizeof(int*));
        {
        	mat[0] = malloc(m*sizeof(int));
        	{
        		mat[0][0] = 1;
        		mat[0][1] = 2;
        	}
        
        	mat[1] = malloc(m*sizeof(int));
        	{
        		mat[1][0] = 3;
        		mat[1][1] = 4;
        	}
        }

        Remarque :
        Si tu veux stocker des lettres ce ne sont pas int que tu devras avoir mais des char...
        0
        1. Ok, merci, c'était pas super clair dans ma tête, maintenant ça va mieux !

          Problème résolu :)
          0