Praticamente sto cercando di compilare un pezzo di codice solo che mi da risultati inaspettati colpa di questo warning: Assignment makes integer from pointer without cast


Qualcuno potrebbe darmi una mano a capire? Il codice è cortissimo è questo qui:

codice:
#include <stdio.h>
#include <string.h>
#define N 37
#define COL 12

typedef struct {

char colore[COL];
int numeror;


} numero_strut;


int main () {


int i; //indice array
 numero_strut array_num[N]; //un array del tipo numero_strut

for (i=0;i<N;i++){

array_num [i].numeror=i;

if  ((i==1) || (i==3) ||(i==5) ||(i==7) ||(i==9) ||(i==12) ||(i==14) ||(i==16)
    || (i==18) ||(i==19) ||(i==21) ||(i==23) ||(i==25) || (i==27) ||(i== 30) ||(i==32)
    ||(i==34)||(i==36)){


array_num[i].colore[COL] = "rosso";   // warning 1
printf("%s\n\n",array_num[i].colore[COL]);}

else

if (i!=0){


array_num[i].colore[COL]= "nero"; // warning 2

printf("%s\n\n",array_num[i].colore[COL]);}





}


return 0;


}