c语言结构体数组,有一处不懂

char *pname=&(pmenu+bianhao-1)->dishes_name;
strcpy(dishes[bianhao-1].dishes_name,dish_name);
//strcpy(pname,dish_name);

源文件有点多,我就发主要的部分了

  1. pmenu是指向结构体dishes的一个指针
  2. dishes_name是结构体内的一个数组,存放的是字符串
  3. bianhao是自己输入的数字
  4. dish_name是字符串数组,存放的是自己输入的字符串

现在这个程序我已经调试好了,但是还有以下一个问题不懂:
我想把自己输入的字符串替换结构体的字符串,但是发现//后那个方法不可用,我不太清楚为什么,求大神帮解答

dish_name是什么,一个局部变量吗
你应该替换的是dishes[bianhao-1].dishes_name,你把局部变量替换了有啥用