scanf里面错误了!修改如下
scanf("%d",&num[i]);
后面还有三个scanf的score1的数组前也要加&符号!
我们在学习动态内存分配之前,想必是已经掌握了两种内存开辟的方式:
int a=10;//在栈上开辟了4个字节的空间
char arr[10]={0};//在栈上开辟了10个连续的1字节空间
//当然上面是在栈上开辟的空间,还有在静态区开辟的全局变量,这些方式。
以上内存开辟方式有两个特点:
1.空间开辟大小是固定的;
2.数组在申明的时候必须指定数组的长度。
但是有时候我们是不知道要开辟多少空间的,有时候需要一遍录入一边开辟,所以就诞生了动态内存分配