Errors that have been raised: ;
main.c:18:12: warning: implicit declaration of function ‘get_word’ [-Wimplicit-function-declaration]
word = get_word( &sentence );
main.c:18:12: warning: implicit declaration of function ‘get_word’ [-Wimplicit-function-declaration]
word = get_word( &sentence );
main.c:21:49: error: request for member ‘word’ in something not a structure or union
printf("Word in word_count_struct = %s\n",CS->word)
My main.c :
#include "bow.h"
int main(){
struct word_count_struct *CS;
char *sentence = "#The quick brown fox jumped over 23&%^24 the lazy dogs."; /* test sentence */
char *word; /* pointer to a word */
printf( "sentence = \"%s\"\n", sentence ); /* show the sentence */
while (*sentence) /* while sentence doesn't point to the '\0' character at the end of the string */
{
word = get_word( &sentence ); /* this will allocate memory for a word */
printf( "word = \"%s\"; sentence = \"%s\"\n", word, sentence ); /* print out to see what's happening */
CS = new_word_count(word);
printf("Word in word_count_struct = %s\n",CS->word);
free(word); /* free the memory that was allocated in get_word */
}
return 0;
my bow.h (bow.c contains all the :
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <stdio.h>
#ifdef BOW_H
#define BOW_H
struct word_count_struct
{
char *word;
int count;
};
struct bag_struct
{
struct word_count_struct *bag;
int bag_size;
int total_words;
};
/* More functions */
#endif
makefile:
bag: main.o bow.o bow.h
gcc -Wall -ansi -pedantic main.o bow.o -o bag
bow.o: bow.c bow.h
gcc -Wall -ansi -pedantic -c bow.c -o bow.o
main.o: main.c bow.h
gcc -Wall -ansi -pedantic -c main.c -o main.o
clean:
rm -i bag bow.o main.o
I have absolutely no idea what is causing these errors, any help would be appreciated.
You have #ifdef BOW_H
which isn't defined so the header is basically blank. Change to #ifndef
.