strが指す文字列が空かどうか判断するには、
if(*str=='\0')
/* 空 */ ;
else
/* 空でない */ ;

これが一番効率がいいですか?
コードのわかりやすさではif(strlen(str)==0)だと思うんですけど。