2010-10-14 5 views
1

Je tente de créer une structure const en C mais je n'arrive pas à la comprendre.Const C Array Struct dans Struct Array

typedef struct sA{ 
char* fname; 
char* lname; 
} A; 

Pour utiliser comme un tableau:

A list[] = {{"david","smith"},{"john","smith"}}; 

Cependant, si j'utiliser un second struct:

typedef struct sB{ 
A inList[]; 
} B; 

Je veux définir une structure const comme:

B newList[] = { 
{ 
    {"david","smith"} 
}, 
{ 
    {"john","doe"} 
    {"joe","doe"} 
} 
}; 

len(newList[0].inList) est dif à partir de len(newList[1].inList). Cela peut être construit dynamiquement, mais comment construiriez-vous cela dans une variable const en C?

+1

ce message/code n'a aucun sens. chaîne à l'intérieur de guillemets simples? 'symbole non référencé'? – Donotalo

+0

il fait effectivement –

Répondre

1

Tous les objets d'une structure auront toujours la même taille. Ce que vous essayez de faire résultera en objet différent d'une structure ayant des tailles différentes, ce qui n'est pas possible. Donc ce que vous essayez de faire n'est pas correct

+0

Merci Yogesh, voulait confirmer mes pensées! – Sheraz