I'm getting an error in my switch statement:
switch (menuchoice)
{

case 1: addrecord(lname[], fname[], phoneNo[]); break;/*Edit*/

case 2: deleterecord(lname[], fname[], phoneNo[]); break;/*Edit*/

case 3: editrecord(lname[], fname[], phoneNo[]); break;/*Edit*/

case 4: search(lname[], fname[], phoneNo[]); break;/*Edit*/

case 5: view(lname[], fname[], phoneNo[]); break;/*Edit*/

case 6: return 0;
}

return 0;
}

here are my compiler's comments:
--------------------Configuration: program1 - Win32 Debug--------------------
Compiling...
program1.c
C:\programming\program1.c(43) : error C2059: syntax error : ']'
C:\programming\program1.c(56) : error C2059: syntax error : ']'
C:\programming\program1.c(58) : error C2059: syntax error : ']'
C:\programming\program1.c(60) : error C2059: syntax error : ']'
C:\programming\program1.c(62) : error C2059: syntax error : ']'
C:\programming\program1.c(64) : error C2059: syntax error : ']'
Error executing cl.exe.

program1.exe - 6 error(s), 0 warning(s)


What did I do wrong and can you help me out with passing structures I have looked through my 2 books and they are not helping me at all. I included the full program below if you would like to look at the rest of the code. Thanks



#include <stdio.h>


char lname[20], fname[15], phoneNo[12];
int menuchoice, record, i, cnt, totalcnt;
FILE *infile, *outfile;


struct record{
char lname[20];
char fname[15];
char phoneNo[12];
};


int menu(char *, char *, char *);
void addrecord(char *, char *, char *);
void deleterecord(char *, char *, char *);
void editrecord(char *, char *, char *);
void search(char *, char *, char *);
void view(char *, char *, char *);
void sort(char *, char *, char *);




int main (void)
{

struct record temp;
char filename[20];

printf("Enter file name to open");
scanf("%s", &filename);
infile=fopen(filename,"r");
if (infile == NULL){printf("Unable to open file");return(0);}


while(fscanf(infile, "%s %s %s", &temp.lname[cnt], &temp.fname[cnt], &temp.phoneNo[cnt]) != EOF) cnt++;

cnt = totalcnt;

menu(temp.lname[], temp.fname[], temp.phoneNo[]);

return 0;
}


int menu(char lname[], char fname[], char phoneNo[]){
printf("\nPhonebook menu\n1) Add new record\n2) Delete record\n3) Edit record\n4) Search phone book\n5) View phone book\n6) Quit\nEnter choice #: ");
scanf("%d", &menuchoice);

switch (menuchoice)
{

case 1: addrecord(lname[], fname[], phoneNo[]); break;/*Edit*/

case 2: deleterecord(lname[], fname[], phoneNo[]); break;/*Edit*/

case 3: editrecord(lname[], fname[], phoneNo[]); break;/*Edit*/

case 4: search(lname[], fname[], phoneNo[]); break;/*Edit*/

case 5: view(lname[], fname[], phoneNo[]); break;/*Edit*/

case 6: return 0;
}

return 0;
}



void addrecord(char *lname, char *fname, char *phoneNo){
printf("\nAdd Record\n");
printf("Last Name: ");
scanf("%s", &lname[totalcnt+1] ); /*Edit*/
printf("\nFirst Name: ");
scanf("%s", &fname[totalcnt+1]); /*Edit*/
printf("\nPhone Number: ");
scanf("%s", &phoneNo[totalcnt+1]); /*Edit*/
printf("\nPhone number added");
++totalcnt;
}

void deleterecord(char *lname, char *fname, char *phoneNo){
char deletelname[20];

printf("\nDelete Record\n");
printf("Last Name: ");
scanf("%s", &deletelname);
/*Edit*/
/*Edit*/
/*Edit*/


}

void editrecord(char *lname, char *fname, char *phoneNo){
char editlname[20];

printf("\nEdit Record\n");
printf("Last name: ");
scanf("%s", &editlname);
/*Edit*/
/*Edit*/
/*Edit*/


}

void search(char *lname, char *fname, char *phoneNo){
char searchfor[20];

printf("\nSearch\n");
printf("Search for: ");
scanf("%s", &searchfor);
/*Edit*/
/*Edit*/
/*Edit*/

}

void view(char *lname, char *fname, char *phoneNo){
printf("\nView Records\n");
for (i=0; i < totalcnt; i++)
{
printf("\n%s %s %d", lname[i], fname[i], phoneNo[i]); /*Edit*/
}
}

void sort(char *lname, char *fname, char *phoneNo){
/*Edit*/
/*Edit*/
/*Edit*/
}