【C语言】不允许使用类型名

main函数里凡是带有stu的都报错:

相关代码如下

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct STUDENT {
	int num;
	const char* name;
	int score;
}stu[];
int main()
{
	int select = 0;
	int n = 0;

	while (1)
	{
		system("cls");

		home_page();

		printf("\t\t输入标号选择功能: ");
		scanf("%d", &select);

		switch (select)
		{
		case 1:
			system("cls");
			printf("\n\t\t********录入学生成绩信息********\n");
			n = add_infor(stu, n);
			break;
		case 2:
			system("cls");
			printf("\n\t\t********浏览学生成绩信息********\n");
			browse_infor(stu, n);
			getchar();
			break;
		case 3:
			system("cls");
			printf("\n\t\t**********查询学生信息**********\n");
			find_infor(stu, n);
			getchar();
			break;
		case 4:
			system("cls");
			printf("\n\t\t*********修改学生信息*********\n");
			n = modify_infor(stu, n);
			getchar();
			break;
		case 5:
			system("cls");
			printf("\n\t\t*********按成绩排序*********\n");
			sort_score(stu, n);
			printf("\n\t\t\t排序成功!");
			getchar();
			break;
		case 6:
			system("cls");
			printf("\n\t\t*********删除学生信息*********\n");
			n = delete_infor(stu, n);
			getchar();
			break;
		case 7:
			system("cls");
			printf("\n\t\t********向文件写入数据********\n");
			writetofile(stu, n);
			getchar();
			break;
		case 8:
			system("cls");
			printf("\n\t\t********从文件读出数据********\n");
			n = readfromfile(stu, n);
			getchar();
			break;
		default:
			system("cls");
			printf("\n\n\t\t**********谢谢使用!**********\n");
			exit(0);
			break;
		}

		getchar();
	}
}

 

typedef struct  {
    int num;
    const char* name;
    int score;
}STUDENT;
STUDENT stu[20];

 

你这个stu结构指针类型名称,不是变量名称,自然不能用来传递给函数了。 stu pStu;后面用pStu可以

也许对你有帮助:https://blog.csdn.net/it_xiangqiang/category_10581430.html