2010-09-22 6 views
0

Est-il possible d'avoir l'indice de tableau avant le nom de la variable dans la déclaration?Définition d'un type abstrait dans C

Par exemple, est-il possible d'avoir

char [10]data; 

où la déclaration prévue est:

char data[10]; 

Je sais que cela pourrait être l'étirer un peu trop, mais je la variable type défini en utilisant #define, dont j'ai besoin de passer du type int au type char [10]. Donc, pourrais-je simplement utiliser #define TYPE char[10] au lieu de #define TYPE int? Ou y a-t-il un meilleur moyen d'y parvenir?

Modifier:

Dois-je utiliser 2 différentes #define comme celui-ci?

#define TYPE char 
#define SIZE [10] 

puis utilisez:

TYPE data SIZE; 
+0

Y at-il une bonne raison pour laquelle vous essayons d'utiliser '# define' pour cela au lieu d'aller à la normale évidente et simple avec 'typedef'? – AnT

+0

types de données abstraits ... besoin de changer seulement la définition TYPE pour utiliser le code pour un autre type de données –

Répondre

12

Vous voudrez peut-être envisager d'utiliser un typedef pour cela:

typedef char TYPE[10]; 
+0

Je pense que l'OP veut que 'data' soit le nom de sa variable; peut-être le changer en «TYPE» ici pour correspondre à la question? –

+0

+1 Juste pour compléter la réponse de mipadi ... et ensuite définir votre objet avec 'données TYPE;' signifiant 'data' est un tableau de 10 caractères. – pmg

+0

@Carl Norum: Bon point, réparé cela. – mipadi

3

Essayez:

typedef char TYPE[10]; 
Questions connexes