Bonjour tout le monde!
Je suis débutante en langage C, mais je dois m'attaquer à un problème trop grand pour moi il faut bien l'avouer.
Je dois implémenter un grand entier (à partir d'une chaîne de caractères), puis faire des fonctions additionner, soustraire, multiplier et diviser. Enfin je dois faire un main qui teste ces opérations avec des arguments en ligne de commande.
Le soucis, c'est que je n'arrive même pas à faire le tout début de mon programme, à savoir construire mon grand entier. J'obtiens plusieurs erreurs "dereferencing pointer to incomplete type"...
Je vous affiche mon code :
Je n'ai pas encore fait de main, j'ai déjà des erreurs avec ca...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 //bigint.h typedef struct Biginteger* big_integer_t; big_integer_t bigIntFromString (const char *str); void freeBigInt (big_integer_t a); big_integer_t add (big_integer_t a, big_integer_t); big_integer_t subtract (big_integer_t a, big_integer_t); big_integer_t multiply (big_integer_t a, big_integer_t); big_integer_t divide (big_integer_t a, big_integer_t); //bigint.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include <stddef.h> #include "bigint.h" struct big_integer_t { char *data; size_t length; }; big_integer_t bigIntFromString (const char *str) { big_integer_t bi = malloc(sizeof (big_integer_t)); bi->length = sizeof (bi) / sizeof (char); bi->data = malloc (bi->length*sizeof(char)); strcopy(bi->data,str); return bi; }
Si vous pouviez m'aider ce serait vraiment super!
Merci!
Audrey
Partager