I'm writing a Producer-Consumer solution but I keep getting "error: expected ']' before ';' token" when declaring "buffer_item buffer[BUFFER_SIZE];". I'm not quite sure what to do?
This is my buffer.h file:
typedef int buffer_item;
#define BUFFER_SIZE 5;
buffer.c file
#include <stddef.h>
#include <stdlib.h>
#include <unistd.h>
#include "buffer.h"
buffer_item buffer[BUFFER_SIZE];
void *producer(void *param);
void *consumer(void *param);
//etc..
Macros are string replacing, so
#define BUFFER_SIZE 5;
buffer_item buffer[BUFFER_SIZE];
will become
buffer_item buffer[5;];
and you have extra semicolon after the number of elements.
You should use
#define BUFFER_SIZE 5
(without semicolon) instead.