自分で途中まで書いたものを載せておきます
おそらくこんな感じになると思うのですが・・・
int insert(int target,int info,NODE **p,int *grown){
*grown=0;
if(*p==NULL){
*p=malloc(sizeof(NODE));
(*p)->key=target;
(*p)->info=info;
(*p)->left=NULL;
(*p)->right=NULL;
*grown=1;
}else if(target<(*p)->key){
}else if(target>(*p)->key){
}else{
puts("ERROR!");

}
}