KurpeusLondon
Messages postés11Date d'inscriptionlundi 5 janvier 2009StatutMembreDernière intervention12 janvier 2009
-
6 janv. 2009 à 14:34
Neo_Fr
Messages postés653Date d'inscriptionmardi 6 décembre 2005StatutMembreDernière intervention10 novembre 2014
-
6 janv. 2009 à 19:31
Bonjour,
J'essaye d'initialiser des structures par un appel de fonction qui retourne l'adresse mémoire de la structure fraichement crée. Lorsque je compile, l'execution crash m'indiquant que j'essaye d'écrire à l'adresse mémoire 0x0000000000. voici le code :
=====================================================
Déclatation
=====================================================
struct sData{ // structure globale
char label[16];
unsigned int value;
unsigned int slaveAddr; /* Modbus communication use addr "0" to broadcast and 1 to 247 to address a node. 248 to 255 are reserved addresses. To be convert in Hex */
/* According to the ATI100 transfer panel, broadcast adresse only usable for writing functions (6 and 16). */
unsigned int functCode;
unsigned int addr;
unsigned int data;
unsigned int crc16;/* ModBus define two function to compute the CRC : RTU and ASCII. ATI100 use RTU */
};
*
char * label = NULL; // variable déclarée dans le main puis initialiser
label = tableLabel[idReq]; // Un tableau à deux dimensions qui contient des chaines de caractères
Dans la fonction createStruct( ) je peux vérifier que le contenu de label pointe bien sur la la case de mon tableau. Cependant je n'arrive pas a faire rentrer mon label dans ma structure. je dois dire que j'ai du mal a comprendre les déréférencements et valeurs pointées lorsque qu'il s'agit de structure