2010-02-27 7 views
3

Je souhaite avoir un tableau statique avec des tableaux. Je sais que vous pouvez faire un tableau normal comme ceci:C - Tableau dans un tableau

int test[] = {1,2,3,4}; 

Mais je veux faire quelque chose comme ça (Xcode me donne un tas d'avertissements et d'autres choses):

int test[] = {{1,2}, {3,4}}; 

En python, il serait :

arr = [[1,2], [3,4]]; 

Quelle est la bonne façon de procéder?

Répondre

6

Pour avoir un tableau multidimensionnel, vous aurez besoin de deux niveaux de réseaux:

int test[][] = {{1,2}, {3,4}}; 

Cependant, que ne fonctionnera pas, comme vous devez déclarer la taille des plus intimes tableaux sauf la dernier:

int test[2][] = {{1,2}, {3,4}}; 

Ou si vous avez besoin d'une sécurité de type encore plus stricte:

int test[2][2] = {{1,2}, {3,4}}; 
+0

Merci à! Des cookies pour vous. – quano

+0

BISCUITS! Je fais des biscuits LOOOOOOOOOVE! – LiraNuna

+0

Je pense que c'est l'inverse, c'est-à-dire [] [2]. Il ne me compilerait pas au moins à moins que je le fasse de cette façon. – quano

0

Vous avez besoin tableau de tableaux ou 2 tableaux: dimensions

int test[][] = {{1,2}, {3,4}}; 

EDIT: Je suis hors de contact avec C. Ceci est presque correct, mais pas tout à fait comme le montre LiraNuna.

2

Vous pouvez utiliser typedef comme ce

typedef int data[2]; 
data arr[] = {{1,2},{3,4}}; 

Cette approche peut être plus claire si vous utilisez un nom « bon » pour la définition de type