C语言: 创建数组的几种方法?

创建数组有三种方法

1、声明一个数组,声明时用常量表达式指定数组维数,然后可以用数组名访问数组元素

2、声明一个变长数组,声明时用变量表达式指定数组的维数,C99支持

3、声明一个指针,调用malloc(),然后使用该指针来访问数组元素,指针为常量,不能进行运算

#include <stdio.h>
#include <stdlib.h>
int main(){
        int n;
        int *p;
        p = (int *)malloc(n*sizeof(int));
        if(scanf("%d",&n) != 1){
                printf("%s","exit");
                exit(EXIT_FAILURE);
        }

        int i;

        for(i=0;i<n;i++){
                printf("%d:",i);
                scanf("%d",p+i);
        }

        for(i=0;i<n;i++){
                printf("%d",p[i]);
        }
}