2009-09-25 7 views
0

comment ajouter une variable membre/attribut à une structure de main en C?structure en C- pour ajouter un attribut à l'exécution?

+1

Si vous posez cette question pour résoudre un problème, alors vous pourriez vouloir expliquer votre problème. De cette façon, vous obtenez des réponses différentes de: "Non!". – quinmars

+0

Ce http://stackoverflow.com/questions/1218947/convert-a-string-in-c-code est lié (mais pas un doublon), et vous pourriez y trouver de l'aide. – dmckee

Répondre

2

Vous ne pouvez pas. C n'est pas un langage de programmation dynamique.

Vous pouvez, cependant, définir un tableau dans votre structure; et allouer de la mémoire à ce tableau. Peut-être que cela peut résoudre votre problème actuel?

+0

Vous n'allouez pas de mémoire à un tableau, vous allouez de la mémoire à un pointeur. Un tableau est stocké directement dans le 'struct' et est une bête différente. –

+0

@Chris: Je vois ce que vous dites, mais ce n'est pas tout à fait clair. La réponse devrait peut-être dire: "Vous pouvez cependant définir un pointeur dans votre structure, et vous pouvez allouer dynamiquement de la mémoire pour un tableau et placer le pointeur sur ce tableau alloué dans la structure (probablement aussi avec un compteur)". –

+0

@Chris alors que d'un point de vue technique c'est vrai, je pense que la sémantique était claire. – phoebus

2

Vous ne pouvez pas normalement. Vos structures doivent être définies lors de la compilation. Si vous avez un tas d'éléments similaires qui doivent être ajoutés dynamiquement en considérant la configuration d'un tableau redimensionnable en tant que membre.

Questions connexes