Code:
#include <curses.h>

int main(int argc, char *argv[])
{
 initscr();
  start_color();
	init_pair(1, COLOR_RED, COLOR_BLACK);

       addch(65 | COLOR_PAIR(1));

       init_pair(1, COLOR_RED, COLOR_BLUE);

       addch(65 | COLOR_PAIR(1));
       getch();
    endwin();
  return 0;
}
this program does not print the seperate colour pairs. The only way to do so is to use a seperate number for each possible colour pair. But I don't want to do that as there is a limit on how many can be initiated, and I want the user of my program to be able to use any variation of colours. I thought of using the first colour pair slot and switching it every time i needed a new colour pair -- but it seems to work that when you change a colour pair you also alter the existing printed colours on the screen.