C99中的可变长数组

在C99标准中开始支持可变长数组,即在声明数组时可以用变量来指示数组的大小,而不一定是常量表达式。
看下面的示例程序:

#include <stdio.h>

int main(int argc, char **args) {
    int n = 5;
    if (argc > 1) {
        n = atoi(args[1]);
    }

    double A[n][n];
    typeof(A) B;
    printf("sizeof B[%d][%d]: %d\n", n, n, sizeof(B));

    return 0;
}

运行结果:

$ gcc main.c -o main
$ ./main
sizeof B[5][5]: 200

$ ./main 10
sizeof B[10][10]: 800

$ ./main 20
sizeof B[20][20]: 3200



 

猜你喜欢

转载自blog.csdn.net/choumin/article/details/111566591