Allouer dynamiquement de la structure C?

Je veux allouer dynamiquement une structure C:

typedef struct {
    short *offset;
    char *values;
} swc;

À la fois de "décalage" et des "valeurs" sont censés être des tableaux, mais leur taille est inconnue jusqu'à ce que l'exécution.

Comment puis-je allouer dynamiquement de la mémoire pour ma structure et la structure de tableaux?

Êtes-vous demander à propos de C ou C++? La meilleure solution sera différente en fonction de la langue que vous utilisez.
De bons exemples de la manière d'attribuer ce ci-dessous. Il serait probablement une bonne idée d'enregistrer la taille des matrices dans la structure pour la rendre plus générale. Vous pouvez ensuite écrit généralisée des fonctions d'accès (en C) ou membre de méthodes d'accès (en C++).
En écho à Neil: le C et le C++ sont très distinctes les langues. Choisir l'un ou l'autre. Ne pas utiliser un hybride (comme le montre beaucoup de réponses ci-dessous) de style qui est un mélange des deux langues.

OriginalL'auteur pf. | 2009-12-30