3

宣言するとき、配列のサイズは定数 int でなければならないと私は信じています。ただし、次のコードをコンパイルしたところ、エラーは発生しませんでした。これについて説明していただけますか?

#include <stdio.h>

void function(int);

int main(void){
  int m = 0;
  scanf("%d", &m);
  function(m);
  return 0;
}

void function(int i){
  int array[i];
}

入力: 5 出力: なし。しかし、エラーはありませんでした。

4

2 に答える 2

1

なぜプログラムはエラーを返さなければならないのですか? C で VLA を確認してください。

Reference_to_VLA

于 2013-10-02T07:33:27.630 に答える