I have the following code
//Point.h
#define WIDTH 8
#define HEIGHT 8
typedef struct Point
{
char x;
char y;
} Point;
//Board.c
#include
The char
type may be signed or unsigned. It depends on your compiler vendor's choice. There might even be a compiler option available. Evidently, char
is unsigned for you, so it's always greater than or equal to zero, and thus the compiler warns you.
You're using char
here to represent "a numeric type that takes up minimal memory." In that case, I recommend explicitly using signed char
or unsigned char
. (Each is distinct from plain char
, despite char
having to be either signed or unsigned.) Reserve char
for when you're holding character data. For numeric data, use one of the other two types.