较早的编译器是不同意这样做的,所以一些书籍比方以Tc解说的书本都说数组的下标不能是变量。在vc6.0下亦是如此。
只是在一些较新的编译器如dev c++已经支持了,例如以下代码不会报错
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() 4 { 5 int a; int i; 6 scanf("%d",&a); 7 int c[a]; 8 for( i =0 ;i<a;i++) 9 scanf("%d",&c[i]); 10 for( i =0 ;i<a;i++) 11 printf("%d",c[i]); 12 }
如果想用变量定义数组有很多种方式
首先可以使用指针:
一维:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)